JavaScript創(chuàng)建閉包的兩種方式的優(yōu)劣與區(qū)別分析
通常JavaScript創(chuàng)建閉包比較常用的有兩種方式。
構(gòu)造函數(shù)方式:
new function() {
var 變量...
}
內(nèi)聯(lián)執(zhí)行方式:
(function() {
var 變量...
})();
在JavaScript內(nèi)部運行機制下他們有什么區(qū)別?用哪種方式創(chuàng)建比較好?它與其它方式創(chuàng)建的閉包相比有什么優(yōu)勢?
我是這樣理解的:
區(qū)別:
第一個:子方法可以共享變量
第二個:內(nèi)部子方法共享變量
比較:
我認為內(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)容了,希望大家能夠喜歡
相關(guān)文章
JavaScript模擬可展開、拖動與關(guān)閉的聊天窗口實例
這篇文章主要介紹了JavaScript模擬可展開、拖動與關(guān)閉的聊天窗口,實例分析了javascript實現(xiàn)可拖動的div層相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下2015-05-05
實例詳解BootStrap的動態(tài)模態(tài)框及靜態(tài)模態(tài)框
要用bootStrap這個框架就必須要重載它的class類,也就是說class要一樣。接下來通過實例代碼給大家介紹BootStrap的動態(tài)模態(tài)框及靜態(tài)模態(tài)框,需要的朋友可以參考下2018-08-08
解決前端使用xlsx.js工具讀取excel遇到時間日期少43秒問題
這篇文章主要給大家介紹了關(guān)于如何解決前端使用xlsx.js工具讀取excel遇到時間日期少43秒問題的相關(guān)資料,xlsx.js是一種前端庫,它可以使您使用JavaScript讀取、解析和導(dǎo)出電子表格文件,如Microsoft Excel,需要的朋友可以參考下2024-03-03

