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