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)部運(yùn)行機(jī)制下他們有什么區(qū)別?用哪種方式創(chuàng)建比較好?它與其它方式創(chuàng)建的閉包相比有什么優(yōu)勢?
我是這樣理解的:
區(qū)別:
第一個(gè):子方法可以共享變量
第二個(gè):內(nèi)部子方法共享變量
比較:
我認(rèn)為內(nèi)聯(lián)的比較好;
優(yōu)勢:
一般內(nèi)聯(lián)的創(chuàng)建是按需索要內(nèi)存,因?yàn)橹皇蔷植繄?zhí)行的變量在內(nèi)存里,可以將相關(guān)的和具有依賴性的代碼組織起來,以便將意外交互的風(fēng)險(xiǎn)降到最低,構(gòu)造那個(gè)所有的方法執(zhí)行變量都要保存在內(nèi)存里,這樣會(huì)影響網(wǎng)頁的性能,建議退出前刪除變量
當(dāng)然這只是我的個(gè)人理解,其實(shí)一般都用閉包需要特別主要在IE內(nèi)核瀏覽器下產(chǎn)生內(nèi)存泄漏,最好是變量使用完就干掉。
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡
相關(guān)文章
js類定義函數(shù)時(shí)用prototype與不用的區(qū)別示例介紹
沒有使用prototype的方法相當(dāng)于類的靜態(tài)方法,相反,使用prototype的方法相當(dāng)于類的實(shí)例方法,不許new后才能使用2014-06-06js遍歷、動(dòng)態(tài)的添加數(shù)據(jù)的小例子
js遍歷、動(dòng)態(tài)的添加數(shù)據(jù)的小例子,需要的朋友可以參考一下2013-06-06javascript教程:關(guān)于if簡寫語句優(yōu)化的方法
這篇文章主要介紹了js中if簡寫語句優(yōu)化的方法,需要的朋友可以參考下2014-05-05javascript實(shí)現(xiàn)支付寶滑塊驗(yàn)證碼效果
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)支付寶滑塊驗(yàn)證碼效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07???????基于el-table和el-pagination實(shí)現(xiàn)數(shù)據(jù)的分頁效果流程詳解
本文主要介紹了???????基于el-table和el-pagination實(shí)現(xiàn)數(shù)據(jù)的分頁效果,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-11-11