多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區(qū)平臺 聯系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > web前端 > jscript > JavaScript閉包在封裝函數時的淺見

JavaScript閉包在封裝函數時的淺見

來源:程序員人生   發(fā)布時間:2014-01-14 04:09:49 閱讀次數:4272次

最近才開始系統的研究js,對js的興趣源于對JQuery的應用。之前只會用js做簡單的計算函數,后來由于需要做特效,故接觸JQ,看著API,基本的特效都能完成,但相反,如果用js去實現,估計自己很難寫得出來,所以下定決心系統的看看js。

最近發(fā)現了一個新名詞:閉包。(自己落后了,要好好學習才行),baidu、google看了一下原理和實例,也明白了閉包的強大。JQuery也把閉包發(fā)揚光大了,網上一些個人開發(fā)的框架都是用了閉包了功能。知道了閉包的原理和使用發(fā)放,于是自己小小試驗了一把,帶著疑惑:使用閉包有什么好處?不使用會出現什么后果?寫下了以下代碼,也希望大家給小弟一些解答

使用閉包:

實例1

1var $Darren;
2(function(){
3 var Obj={version:"1.0",author:"Darren"};
4 Obj.Add=function(arg1,arg2){
5 return (arg1+arg2);
6 }
7 Obj.Multi=function(arg1,arg2){
8 return (arg1*arg2);
9 }
10 $Darren=Obj;
11})(); //匿名函數,并使其馬上執(zhí)行
12alert($Darren.Add(6,2)); //結果 8
13alert($Darren.Multi(3,5)); //結果15

不使用閉包代碼:

實例2

1var $Darren2={version:"1.0",author:"Darren"};
2$Darren2.Add=function(arg1,arg2){
3 return (arg1+arg2);
4}
5$Darren2.Multi=function(arg1,arg2){
6 return (arg1*arg2);
7}
8
9alert($Darren2.Add(6,2)); //結果 8
10alert($Darren2.Multi(3,5)); //結果15

我的理解是:

1.使用閉包后可以防止命名沖突,如在實例1中,如果$Darren變量沖突只需改兩處地方,而在實例2中,如果$Darren2變量沖突則需該多處(這里是3處)

2.使用閉包后,即使匿名函數執(zhí)行完畢,但是還可以使用其內部的函數。

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

轉自:http://www.cnblogs.com/wbkt2t/

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 日本高清在线观看视频www | 国产在线高清视频 | 日本一区二区高清免费不卡 | 中文字幕第六页 | 中文字幕乱码视频 | 欧美日本免费一区二区三区 | 中文字幕乱码一二三四区 | 日韩 国产 在线 | 日本一区不卡视频 | 亚洲欧美日韩高清一区二区一 | 国产亚洲欧美成人久久片 | 九月婷婷天天澡天天添天天爽 | 欧美日韩在线观看免费 | 秋霞午夜限制土鳖免费观看 | 日韩在线一区二区三区视频 | 最近中文字幕版免费 | 五月婷婷免费视频 | 欧美极品尤物在线播放一级 | 国产成人久久精品一区二区三区 | 日本护士xxx人| 一区| 天堂在线视频精品 | 日本在线观看www免费 | 国产欧美亚洲专区第一页 | 国产亚洲小视频 | 日本高清网址 | 国产suv精品 | 国产综合免费视频 | 亚洲欧美日韩国产精品 | 国产一区二区三区在线免费 | 久久国产精品二国产精品 | 伊人高清 | 国产午夜精品久久久久小说 | 国产精品久久久久久一区二区三区 | 男女性高清爱潮视频免费观看 | 亚洲成人在线免费观看 | 欧美成人性色xxxx视频 | 久久精品2020 | 亚洲国产成人精品女人久久久 | free性欧美hd | 日韩欧美一二三区 |