亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

Javascript匿名函數的一種應用 代碼封裝

2024-09-06 12:45:34
字體:
來源:轉載
供稿:網友
在一些Javascript庫中可以看見這種寫法:
代碼如下:
(function(){
//所有庫代碼代碼
})();

說實話,對于js初學者的我來說。這個東西太嚇人了,在這些JS庫中,這個函數基本上把整個庫的所有代碼全括起來了,這種寫法完全超越了我的常識。難道不應該好好的劃分一下嗎,難道不應該體現出層次和功能劃分嗎,怎么會一個函數搞定呢。我一開始完全不敢去細想它的道理。直到使用JS一段時間后,某一天一位同事在閑聊時說起了這個問題,我才知道這個叫匿名函數。匿名函數我并不陌生,C#,Python,Lua中都有這個咚咚。我到網上去查了一下,介紹文章很多,也很詳細,但是我心頭的疑問卻沒有得到解決:為什么要這樣寫。
我找了一款著名的JS開源庫JQuery,他的代碼就是典型的以上寫法,在粗略看了他的代碼之后我發現這套代碼實在太大了太復雜了,實在不適合我。于是我轉而去看另外一個開源js庫swfobject,這個庫提供了簡單的接口把Flash控件嵌入到網頁中。這個代碼好多了,很短,很快就看完了??赐曛笪一腥淮笪颍瓉砣绱?。真理就是如此簡單,之所以這樣寫,只有一個目的:封裝。
初學JS的時候,我問過同事,js怎么定義私有函數和變量。當時的得到的答案是:js不是面向對象的,不提供這些功能。我對這個答案也坦然接受了,畢竟嚴格的封裝并不是必要的?,F在終于明白了,辦法總是有的,在不支持封裝的語言里同樣可以實現封裝。而實現的方法就是匿名函數。來看一段代碼:
代碼如下:
//定義
function F(x)
{
this.x = x;
function double(x){return x*x;}
this.getDoubleX(){
return double(this.x);
}
}

//使用
f = new F(12);
alert(f.getDoubleX());


上面的代碼很簡單,我沒有去運行它。懂點js的都知道這是JS的類定義方式。函數F相當于一個構造函數,而函數里面的其他定義都是函數私有的外部無法訪問,例如double函數。這樣就變相實現了私有方法。其他打上“this.”前綴的成員相當于公開成員,外部可以訪問。
而這些庫之所以要用一個大函數包裹整個庫代碼,就是為了不向使用者暴露內部方法和變量,強制用戶只能訪問開放的API。從這一點可以開出這些開發者的良苦用心。
到這里我不禁又要問了,js如何實現繼承呢。希望這一次的答案不要像上一次一樣:不支持。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一区二区三区……| 亚洲bt天天射| 国产精品欧美久久久| 日韩av网址在线| 亚洲成人黄色网址| 精品无码久久久久久国产| 黑人巨大精品欧美一区二区三区| 欧美精品国产精品日韩精品| 国产一区二区三区在线免费观看| 欧美高清视频免费观看| 疯狂做受xxxx欧美肥白少妇| 1769国内精品视频在线播放| 日韩电影在线观看中文字幕| 欧美日本高清一区| 亚洲free性xxxx护士hd| 日韩欧美在线看| 国产午夜精品理论片a级探花| 久久天堂电影网| 97香蕉超级碰碰久久免费软件| 色综合久久精品亚洲国产| 97成人精品视频在线观看| 亚洲www在线观看| 久久99亚洲精品| 欧美美女15p| 国产精品久久婷婷六月丁香| 欧美性一区二区三区| 亚洲天堂av图片| 亚洲午夜色婷婷在线| 青青草精品毛片| 久久久国产一区| 亚洲一区二区三| 国产女精品视频网站免费| 国产日韩精品在线播放| 亚洲欧美一区二区三区久久| 久久久精品网站| 亚洲精品福利在线观看| 欧美一区二区大胆人体摄影专业网站| 欧美日韩国产999| 中文字幕亚洲综合久久筱田步美| 韩国欧美亚洲国产| 亚洲欧美日韩国产精品| 国产999在线| 久久精品国产91精品亚洲| 黄色成人在线免费| 亚洲偷熟乱区亚洲香蕉av| 26uuu另类亚洲欧美日本一| 日韩在线播放一区| 亚洲国模精品一区| 久久视频在线直播| 91社区国产高清| 欧美香蕉大胸在线视频观看| 欧美国产精品人人做人人爱| 国产精品亚洲视频在线观看| 国产美女扒开尿口久久久| 日本欧美一二三区| 日本欧美一二三区| 国产一区二区三区免费视频| 97人人做人人爱| 中文字幕亚洲二区| 91精品国产色综合久久不卡98| 精品亚洲永久免费精品| 国产精品一区=区| 久久久午夜视频| 国产精品7m视频| 国产精品亚洲精品| 精品成人国产在线观看男人呻吟| 久久久久久久久中文字幕| 欧美日韩亚洲高清| 国产精品亚洲аv天堂网| 久久免费在线观看| 亚洲va国产va天堂va久久| 日韩精品中文字幕有码专区| 国产精品久久久久久影视| 国产精品高清网站| 欧美午夜精品在线| 亚洲国产精品大全| 伊人久久久久久久久久久久久| 亚洲视频电影图片偷拍一区| 亚洲999一在线观看www| 美女久久久久久久久久久| 国产成人综合av| 亚洲国产一区二区三区四区| 欧美亚洲国产日本| 国产精品吴梦梦| 亚洲欧美另类在线观看| 欧美电影免费在线观看| 精品电影在线观看| 91色视频在线观看| 国产香蕉一区二区三区在线视频| 欧美成人激情视频免费观看| 亚洲精品视频在线播放| 亚洲欧美色婷婷| 日韩av电影免费观看高清| 亚洲免费影视第一页| 清纯唯美日韩制服另类| 久久人人爽亚洲精品天堂| 久久久久999| 欧美在线性爱视频| 欧美日韩亚洲天堂| 青青久久av北条麻妃海外网| 亲子乱一区二区三区电影| 欧美一级免费视频| 色综合久久久久久中文网| 国产一区二中文字幕在线看| 中文字幕日韩有码| 国产69精品久久久久9| 亚洲电影免费观看高清完整版| 羞羞色国产精品| 国产视频精品va久久久久久| 91高清视频免费| 日韩精品在线观看一区二区| 国产精品久久中文| 日韩网站免费观看| 亚洲日本中文字幕免费在线不卡| 蜜臀久久99精品久久久久久宅男| 日韩高清电影好看的电视剧电影| 91精品美女在线| 亚洲成人教育av| 最近2019好看的中文字幕免费| 在线看日韩av| 海角国产乱辈乱精品视频| 日韩精品在线观| 欧美大尺度电影在线观看| 久久伊人精品一区二区三区| 国产成人精品日本亚洲| 国内精品免费午夜毛片| 亚洲成人黄色在线观看| 国产自摸综合网| 久久综合伊人77777| 91精品在线国产| 久久久久久免费精品| 国产精品日韩欧美大师| 欧美最猛性xxxx| 国产精品美女主播在线观看纯欲| 精品无人区太爽高潮在线播放| 久久91精品国产91久久跳| 精品动漫一区二区| 45www国产精品网站| 亚洲欧美日韩中文视频| 久久91精品国产91久久久| 日韩av中文字幕在线播放| 亚洲四色影视在线观看| 日韩一区视频在线| 97视频网站入口| 亚洲欧美成人精品| 色综合老司机第九色激情| 日韩亚洲精品电影| 久久精品青青大伊人av| 亚洲高清久久久久久| 热99久久精品| 久久免费精品日本久久中文字幕| 日本人成精品视频在线| 日本韩国在线不卡| 欧美一区二区三区图| 亚洲精品久久久久久久久久久久久| 性夜试看影院91社区| 久久久久九九九九| 国产精品免费久久久| 久久韩国免费视频| 国产综合视频在线观看| 狠狠色狠狠色综合日日五| 国产精品video| 亚洲黄色av网站| 中文字幕一精品亚洲无线一区|