最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript 編程引入命名空間的方法與代碼

 更新時(shí)間:2007年08月13日 19:25:25   作者:  
JavaScript 代碼一般最常見的語(yǔ)法格式就是定義函數(shù) function xxx(){/*code...*/},經(jīng)常有這樣的一大堆函數(shù)定義。函數(shù)名很容易發(fā)生沖突,特別是引入多個(gè)js文件時(shí),沖突的情況尤為明顯。因此也就有引入命名空間的必要。
Javascript 本身沒有命名空間的概念,需要用對(duì)象模擬出來。
比如定義一個(gè)命名空間的類,用于創(chuàng)建命名空間:

function NameSpace(){
}

這是一個(gè)構(gòu)造函數(shù),但卻不做任何事情,再來下面和評(píng)論有關(guān)的代碼:

var comment = new NameSpace();
comment.list = function(){/*code...*/};
comment.counter = 0;

第一行創(chuàng)建所謂命名空間(其實(shí)就是一個(gè)空白對(duì)象),名為comment,第二、三行定義該空間下的兩個(gè)方法。調(diào)用時(shí)可以使用 comment.list() 或者 comment.counter++ 等;
再創(chuàng)建子命名空間:

comment.add = new NameSpace();
comment.add.post = function(){/*code...*/}
comment.add.check = function(){}

之所以引入命名空間的概念,是為了避免函數(shù)名相同的問題。上面的過程也可以這樣定義:

var comment = {
 list : function(){/*code...*/},
 add  : {
  post  :  function(){/*code...*/},
  check :  function(){/*code...*/}
 }
}

prototype.js 里面就大量使用這種方式,雖然這種方式更直觀地像一棵樹,但只要節(jié)點(diǎn)稍多一些,眼睛就忙于尋找這些節(jié)點(diǎn)的關(guān)系,命名空間的做法是橫向地描述這種關(guān)系樹,層次關(guān)系直接表現(xiàn)在字面上,兩種方式效果一致,但書寫風(fēng)格卻各有特點(diǎn)。

再擴(kuò)展一個(gè)方法:

NameSpace.prototype.appendChild = function(ns){
for (var key in ns){
this[key] = ns[key];
}
return this;
}
NameSpace.prototype.copyChild = NameSpace.prototype.appendChild;


相關(guān)文章

  • JavaScript中標(biāo)識(shí)符提升問題

    JavaScript中標(biāo)識(shí)符提升問題

    標(biāo)識(shí)符指的是javascript中定義的符號(hào),標(biāo)識(shí)符可以由任意順序的大小寫字母、數(shù)字、下劃線和美元符號(hào)組成,但標(biāo)識(shí)符不能以數(shù)字開頭,也不能是javascript中的保留關(guān)鍵字。并且要注意,javascript是嚴(yán)格區(qū)分大小寫的。
    2015-06-06
  • javascript原型模式用法實(shí)例詳解

    javascript原型模式用法實(shí)例詳解

    這篇文章主要介紹了javascript原型模式用法,以實(shí)例形式較為詳細(xì)的分析了javascript原型模式的原理與使用技巧,需要的朋友可以參考下
    2015-06-06
  • codemirror6實(shí)現(xiàn)自定義代碼提示效果實(shí)例

    codemirror6實(shí)現(xiàn)自定義代碼提示效果實(shí)例

    這篇文章主要給大家介紹了關(guān)于codemirror6實(shí)現(xiàn)自定義代碼提示效果的相關(guān)資料,CodeMirror是一個(gè)網(wǎng)絡(luò)代碼編輯器組件,它可以在網(wǎng)站中用于實(shí)現(xiàn)支持多種編輯功能的文本輸入字段,并具有豐富的編程接口以允許進(jìn)一步擴(kuò)展,需要的朋友可以參考下
    2023-08-08
  • JavaScript之DOM插入更新刪除_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    JavaScript之DOM插入更新刪除_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了JavaScript之DOM插入更新刪除,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Layer.js實(shí)現(xiàn)表格溢出內(nèi)容省略號(hào)顯示,懸停顯示全部的方法

    Layer.js實(shí)現(xiàn)表格溢出內(nèi)容省略號(hào)顯示,懸停顯示全部的方法

    今天小編就為大家分享一篇Layer.js實(shí)現(xiàn)表格溢出內(nèi)容省略號(hào)顯示,懸停顯示全部的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 詳解JavaScript中typeof與instanceof用法

    詳解JavaScript中typeof與instanceof用法

    typeof用以獲取一個(gè)變量或者表達(dá)式的類型而instanceof用于判斷一個(gè)變量是否某個(gè)對(duì)象的實(shí)例,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-10-10
  • User Scripts: Video Download by User Scripts

    User Scripts: Video Download by User Scripts

    User Scripts: Video Download by User Scripts...
    2007-05-05
  • JS實(shí)現(xiàn)點(diǎn)擊發(fā)送驗(yàn)證碼 xx秒后重新發(fā)送功能

    JS實(shí)現(xiàn)點(diǎn)擊發(fā)送驗(yàn)證碼 xx秒后重新發(fā)送功能

    在一些注冊(cè)類的網(wǎng)站,經(jīng)常遇到這樣的需求,點(diǎn)擊發(fā)送驗(yàn)證碼,xx秒后重新發(fā)送,這樣的功能怎么實(shí)現(xiàn)呢,接下來通過本文給大家分享js點(diǎn)擊發(fā)送驗(yàn)證碼 xx秒后重新發(fā)送功能,需要的朋友參考下吧
    2019-07-07
  • JavaScript使用鍵盤輸入控制實(shí)現(xiàn)數(shù)字驗(yàn)證功能

    JavaScript使用鍵盤輸入控制實(shí)現(xiàn)數(shù)字驗(yàn)證功能

    根據(jù)鍵盤輸入的keycode來判斷輸入的是什么類型來實(shí)現(xiàn)數(shù)字驗(yàn)證功能,就簡(jiǎn)單幾行代碼就可以實(shí)現(xiàn),對(duì)js數(shù)字驗(yàn)證功能感興趣的朋友一起看下吧
    2016-08-08
  • javascript中for...of和for..in循環(huán)的區(qū)別

    javascript中for...of和for..in循環(huán)的區(qū)別

    JS中循環(huán)語(yǔ)句眾多,你是否也有用的時(shí)候突然不知道用哪個(gè)的經(jīng)歷,本文主要介紹了javascript中for...of和for..in循環(huán)的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08

最新評(píng)論

望江县| 乌兰浩特市| 泗洪县| 苏尼特左旗| 遂溪县| 乐都县| 凉城县| 宁海县| 建平县| 邯郸县| 德令哈市| 双江| 瑞安市| 铁力市| 花莲县| 宜兰市| 仁怀市| 沅江市| 寿宁县| 永济市| 博湖县| 健康| 盐津县| 敦煌市| 平山县| 太仆寺旗| 土默特左旗| 南昌市| 琼中| 兴文县| 霍林郭勒市| 新巴尔虎右旗| 汾西县| 翁源县| 大石桥市| 沙田区| 灌阳县| 朝阳县| 兴山县| 嘉义市| 阜新市|