這篇文章主要介紹了JavaScript創(chuàng)建閉包的兩種方式的優(yōu)劣與區(qū)別分析的相關(guān)資料,需要的朋友可以參考下
通常JavaScript創(chuàng)建閉包比較常用的有兩種方式。
構(gòu)造函數(shù)方式:
?
1 2 3 new function() { var 變量... }內(nèi)聯(lián)執(zhí)行方式:
?
1 2 3 (function() { var 變量... })();在JavaScript內(nèi)部運(yùn)行機(jī)制下他們有什么區(qū)別?用哪種方
我是這樣理解的:
區(qū)別:
第一個:子方法可以共享變量
第二個:內(nèi)部子方法共享變量
比較:
我認(rèn)為內(nèi)聯(lián)的比較好;
優(yōu)勢:
一般內(nèi)聯(lián)的創(chuàng)建是按需索要內(nèi)存,因為只是局部執(zhí)行的變量在內(nèi)存里,可以將相關(guān)的和具有依賴性的代碼組織起來,以便將意外交互的風(fēng)險降到最低,構(gòu)造那個所有的方法執(zhí)行變量都要保存在內(nèi)存里,這樣會影響網(wǎng)頁的性能,建議退出前刪除變量
當(dāng)然這只是我的個人理解,其實一般都用閉包需要特別主要在IE內(nèi)核瀏覽器下產(chǎn)生內(nèi)存泄漏,最好是變量使用完就干掉。
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡
新聞熱點
疑難解答
圖片精選