js 閉包

js 允許使用內(nèi)部函數(shù)---即函數(shù)定義和函數(shù)表達(dá)式位于另一個(gè)函數(shù)的函數(shù)體內(nèi)。而且,這些內(nèi)部函數(shù)可以訪問(wèn)它們所在是外部函數(shù)中聲明的所有局部變量。參數(shù)和聲明的其他內(nèi)部函數(shù)。當(dāng)其中一個(gè)這樣的內(nèi)部函數(shù)在包含他們的外部函數(shù)之外調(diào)用時(shí)就會(huì)形成閉包
簡(jiǎn)而言之 閉包就是指:能夠訪問(wèn)另一個(gè)函數(shù)作用域的變量的函數(shù),可以理解成定義在一個(gè)函數(shù)內(nèi)部的函數(shù)

function a(){
var num = 1;
return function(){
    return num++
}
}

var c = a();
c() // 1
c() // 2

使用閉包的注意點(diǎn)

  1. 如果濫用會(huì)造成內(nèi)存泄漏
  2. 閉包會(huì)在函數(shù)外部改變函數(shù)內(nèi)部的值,所以要注意不要隨便改變夫函數(shù)內(nèi)部變量的值
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容