JS的閉包

1.閉包的概念

閉包函數(shù):聲明在一個函數(shù)中的函數(shù),叫做閉包函數(shù)。
閉包:內(nèi)部函數(shù)總是可以訪問其所在的外部函數(shù)中聲明的參數(shù)和變量,即使在其外部函數(shù)被返回(壽命終結(jié))了之后。

2.閉包的特點:

讓外部訪問函數(shù)內(nèi)部變量成為可能;
局部變量會常駐在內(nèi)存中;
可以避免使用全局變量,防止全局變量污染;
會造成內(nèi)存泄漏(有一塊內(nèi)存空間被長期占用,而不被釋放)

3.自己的理解:

相當于,如果是一個全局變量,比較容易被污染,而定義在函數(shù)內(nèi)部的變量每一次調(diào)用函數(shù)時候就會被清空,這時候我們就在函數(shù)里嵌套一個函數(shù),函數(shù)內(nèi)部的變量就會被保存下來。
最經(jīng)典的就是計數(shù)器例子:

var add = (function () {
    var counter = 0;
    return function () {return counter += 1;}
})();
add();
add();

https://blog.csdn.net/weixin_43586120/article/details/89456183

例子4,11,15

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

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