国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript 閉包在封裝函數時的簡單分析

2019-11-21 00:57:30
字體:
來源:轉載
供稿:網友
wbkt2t最近發現了一個新名詞:閉包。(自己落后了,要好好學習才行),baidu、google看了一下原理和實例,也明白了閉包的強大。JQuery也把閉包發揚光大了,網上一些個人開發的框架都是用了閉包了功能。知道了閉包的原理和使用發放,于是自己小小試驗了一把,帶著疑惑:使用閉包有什么好處?不使用會出現什么后果?寫下了以下代碼,也希望大家給小弟一些解答
使用閉包:
實例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;
})(); //匿名函數,并使其馬上執行
alert($Darren.Add(6,2)); //結果 8
alert($Darren.Multi(3,5)); //結果15

不使用閉包代碼:
實例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)); //結果 8
alert($Darren2.Multi(3,5)); //結果15

我的理解是:
.使用閉包后可以防止命名沖突,如在實例1中,如果$Darren變量沖突只需改兩處地方,而在實例2中,如果$Darren2變量沖突則需該多處(這里是3處)
.使用閉包后,即使匿名函數執行完畢,但是還可以使用其內部的函數。

還有我有個疑惑就是:
為什么大家都推薦實例1的寫法,實例1和實例2哪個更好,為什么?一樣能實現的功能。

希望大家指點小弟,這樣理解對不對?
還有什么補充的。
謝謝大家~~~
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 富宁县| 四平市| 虎林市| 屏山县| 乃东县| 长顺县| 永兴县| 张家港市| 枣庄市| 正定县| 云梦县| 花莲市| 闵行区| 海丰县| 锡林郭勒盟| 安徽省| 仙桃市| 梓潼县| 丰台区| 沧州市| 乌拉特前旗| 岳池县| 洞头县| 新郑市| 白城市| 青海省| 浪卡子县| 从化市| 托克逊县| 孟连| 南康市| 上思县| 绥阳县| 苏尼特左旗| 齐河县| 峨边| 五大连池市| 亚东县| 界首市| 沾化县| 东兴市|