JS 自執行函數


  由於自己js基礎知識薄弱,很多js的知識還沒有掌握,所以接下來會經常寫一些關於js基礎知識的博客,也算給自己提個醒吧。

  js自執行函數,聽到這個名字,首先會聯想到函數。接下來,我來定義一個函數:

function aaa(a,b){
    return sum = a + b
}

  定義了一個名為aaa的函數,在里面可以計算兩個數的和。如果想執行它,就必須得調用它,並且還得給它傳參:

var aa = aaa(1,2)

  這樣就實現了一個函數的定義與調用,通過console.log我們可以看到sum實現了兩個數的相加。

  自執行函數是什么?自執行函數就是當它被定義出來,就會自動執行的函數。不需要調用,傳參也很方便。就上面的函數,用自執行函數定義就是這樣:

(function aaa(a,b){
    return sum = a + b
;})(1,2)

  通過控制台可以發現sum實現了兩個數的相加。

  自執行函數有三種寫法:

  1.   ( function ( “ 參數 ” ) { " 函數方法 " ; } ) ( “ 給參數傳的值 ” )
  2.   ( function ( " 參數 " ) { “ 函數方法 ” ; } ( " 給參數傳的值 " ) )
  3.        ! function ( " 參數 " ) { " 函數方法 " ; } ( " 給參數傳的值 " ) 

  第三種!可以換作其他運算符或者void。

  自執行函數是很自私的,它的內部可以訪問全局變量。但是除了自執行函數自身內部,是無法訪問它的。例:

function aaa(a1,b1){
    return sum1 = a1 + b1
},
(function bbb(a2,b2){
    return sum2 = a2 + b2
;}(),
console.log(aaa)
console.log(bbb)

  這是一個函數與一個自執行函數,輸出這兩個函數會發現:函數aaa被全部打印出來,而bbb則報錯。自執行函數相當於一個瓶口朝下的杯子,當定義它的時候,它會傾斜,把杯口露出來,吸收外面的新鮮空氣;當它執行完畢,杯口不再外露,緊閉起來,與外界再無關聯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM