JavaScript 閉包在封裝函數(shù)時的簡單分析
使用閉包:
實(shí)例1
var $Darren;
(function(){
var Obj={version:"1.0",author:"Darren"};
Obj.Add=function(arg1,arg2){
return (arg1+arg2);
}
Obj.Multi=function(arg1,arg2){
return (arg1*arg2);
}
$Darren=Obj;
})(); //匿名函數(shù),并使其馬上執(zhí)行
alert($Darren.Add(6,2)); //結(jié)果 8
alert($Darren.Multi(3,5)); //結(jié)果15
不使用閉包代碼:
實(shí)例2
var $Darren2={version:"1.0",author:"Darren"};
$Darren2.Add=function(arg1,arg2){
return (arg1+arg2);
}
$Darren2.Multi=function(arg1,arg2){
return (arg1*arg2);
}
alert($Darren2.Add(6,2)); //結(jié)果 8
alert($Darren2.Multi(3,5)); //結(jié)果15
我的理解是:
.使用閉包后可以防止命名沖突,如在實(shí)例1中,如果$Darren變量沖突只需改兩處地方,而在實(shí)例2中,如果$Darren2變量沖突則需該多處(這里是3處)
.使用閉包后,即使匿名函數(shù)執(zhí)行完畢,但是還可以使用其內(nèi)部的函數(shù)。
還有我有個疑惑就是:
為什么大家都推薦實(shí)例1的寫法,實(shí)例1和實(shí)例2哪個更好,為什么?一樣能實(shí)現(xiàn)的功能。
希望大家指點(diǎn)小弟,這樣理解對不對?
還有什么補(bǔ)充的。
謝謝大家~~~
- 再次更新!MSClass (Class Of Marquee Scroll通用不間斷滾動JS封裝類 Ver 1.6)
- Class Of Marquee Scroll通用不間斷滾動JS封裝類
- Jquery作者John Resig自己封裝的javascript 常用函數(shù)
- Javascript匿名函數(shù)的一種應(yīng)用 代碼封裝
- javascript的函數(shù)、創(chuàng)建對象、封裝、屬性和方法、繼承
- 封裝了一個js圖片輪換效果的函數(shù)
- javascript面向?qū)ο蟀b類Class封裝類庫剖析
- 原生Javascript封裝的一個AJAX函數(shù)分享
- js時間日期格式化封裝函數(shù)
- 詳解js中class的多種函數(shù)封裝方法
相關(guān)文章
html+js實(shí)現(xiàn)動態(tài)顯示本地時間
顯示本地時間的方法有很多,在本文將為大家介紹下如何使用html+js實(shí)現(xiàn)動態(tài)顯示本地時間,感興趣的朋友可以了解下2013-09-09uni-app?微信小程序授權(quán)登錄的實(shí)現(xiàn)步驟
本文主要介紹了uni-app?微信小程序授權(quán)登錄的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01JavaScript中find()和?filter()方法的區(qū)別小結(jié)
js中find和filter方法大家在工作中會經(jīng)常遇到,那么他們有什么區(qū)別呢?這篇文章主要給大家介紹了關(guān)于JavaScript中find()和?filter()方法區(qū)別的相關(guān)資料,需要的朋友可以參考下2021-12-12H5喚醒APP實(shí)現(xiàn)方法及注意點(diǎn)總結(jié)
目前通過H5頁面喚起App的場景十分常見,比如常見的分享功能,這篇文章主要給大家介紹了關(guān)于H5喚醒APP實(shí)現(xiàn)方法及注意點(diǎn)的相關(guān)資料,需要的朋友可以參考下2021-06-06Array, Array Constructor, for in loop, typeof, instanceOf
雖然在 JavaScript 中數(shù)組是是對象,但是沒有好的理由去使用 `for in` 循環(huán) 遍歷數(shù)組。相反,有一些好的理由不去使用 for in 遍歷數(shù)組。2011-09-09js下關(guān)于onmouseout、事件冒泡的問題經(jīng)驗(yàn)小結(jié)
第3次遇到這個問題,于是總結(jié)了一下,將此短文發(fā)在首頁,希望對瀏覽器事件機(jī)制有所了解的大俠們給予解答2010-12-12詳解JS中統(tǒng)計(jì)函數(shù)執(zhí)行次數(shù)與執(zhí)行時間
這篇文章給大家分享了JS中統(tǒng)計(jì)函數(shù)執(zhí)行次數(shù)與執(zhí)行時間的相關(guān)知識點(diǎn)內(nèi)容,有興趣的朋友們分享下。2018-09-09javascript實(shí)現(xiàn)信息的顯示和隱藏如注冊頁面
信息的顯示和隱藏在某些時候還是比較使用的,就比如注冊信息,下面有個不錯的示例,感興趣的朋友可以了解下2013-12-12addEventListener()和removeEventListener()追加事件和刪除追加事件
這篇文章主要給大家介紹了關(guān)于addEventListener()和removeEventListener()追加事件和刪除追加事件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12