日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

07_JS函数

發布時間:2023/12/20 javascript 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 07_JS函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JS函數

函數聲明

  • 使用構造函數
var fun = new Function();
  • 使用關鍵字
function 函數名(形參){// 函數體 }
  • 匿名函數
var fun1 = function(){name = "fun1" }

函數參數

實參,形參都可以是任意數據類型,瀏覽器執行時不會檢查實參類型和數量,在函數內部做運算時會做強制類型轉換,多的參數會被舍棄,少的會被填充為Underfind

  • this:指向函數運行的上下文對象,根據函數被調用的方式不同,this指向的對象也不一樣
函數的調用方式this指針的指向
以函數的形式調用window
以方法的形式調用指向調用方法的對象
以構造函數的形式調用指向最新創建的對象
call()和apply()指向指定的對象
function fun1(){console.log(this); }// 以函數打方式調用 fun1();// 以方法的形式調用 var obj = {name : "obj",fun : function(){console.log(this);}, }// 以apply或call的方式調用 var obj2 = {name : "obj2" }obj.fun();fun1.apply(obj2);
  • argnment 同this一樣,瀏覽器默認傳入的隱藏參數,是保存實參的一個類數組對象,用來分裝實參,其中有一個callee屬性,對應正在執行的函數對象。

作用域

  • 全局作用域

    • 在函數外部定義的變量就是全局變量,全局變量會作為瀏覽器窗口window對象的屬性保存
    • 在全局作用域創建的函數會作為 window對象 的方法保存
    • window對象由瀏覽器自動創建
    • 生命周期:網頁打開時創建,關閉時銷毀
    • 盡量不要在全局作用域定義變量,會污染命名空間
  • 函數(局部)作用域

    • 在函數內部定義的變量(屬性)和函數(方法)只能在函數內部使用,全局無法使用
    • 生命周期:函數執行時創建,執行結束時銷毀
    • 使用 window.變量名 訪問全局變量。
    • 在函數中,不使用 var 定義的變量會成為全局變量
    • 變量的使用遵循就近原則
  • 函數的申明提前:使用關鍵字定義的函數會在整個程序執行之前預先執行,因此可以在函數聲明之前調用函數

返回值

使用return返回,無返回值或返回空時(只寫一個return)返回Underfind

  • return會結束整個函數

立即執行函數

函數內建方法

call()和apply()

  • 調用這兩個方法時,函數都會執行
  • 可以指定一個對象作為函數的第一個參數(this)這個對象會成為函數的this,用來修改函數的上下文對象
  • 如果需要傳遞參數
    • call:需要將所有要傳遞的參數封裝到數組中,也就是call只接受兩個參數,第一個是一個對象,第二個是參數數組
    • apply:可以直接跟在對象后面傳遞,不限制參數個數

總結

以上是生活随笔為你收集整理的07_JS函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。