欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

function NameSpace(){
}

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

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

第一行創(chuàng)建所謂命名空間(其實(shí)就是一個(gè)空白對象),名為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)文章

  • 微信小程序返回上一頁傳參并刷新過程解析

    微信小程序返回上一頁傳參并刷新過程解析

    這篇文章主要介紹了微信小程序返回上一頁傳參并刷新過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • js實(shí)現(xiàn)tab切換效果實(shí)例

    js實(shí)現(xiàn)tab切換效果實(shí)例

    這篇文章主要介紹了js實(shí)現(xiàn)的tab標(biāo)簽切換效果,功能非常簡單,實(shí)現(xiàn)了點(diǎn)擊切換的效果,推薦給大家,有需要的小伙伴可以參考下。
    2015-09-09
  • 第六篇Bootstrap表格樣式介紹

    第六篇Bootstrap表格樣式介紹

    這篇文章主要介紹了第六篇Bootstrap表格樣式介紹的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • JS常用字符串處理方法應(yīng)用總結(jié)

    JS常用字符串處理方法應(yīng)用總結(jié)

    這篇文章主要總結(jié)了JS常用字符串的處理方法,需要的朋友可以參考下
    2014-05-05
  • 詳解關(guān)于webpack多入口熱加載很慢的原因

    詳解關(guān)于webpack多入口熱加載很慢的原因

    這篇文章主要介紹了詳解關(guān)于webpack多入口熱加載很慢的原因,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-04-04
  • javascript 通過封裝div方式彈出div窗體

    javascript 通過封裝div方式彈出div窗體

    廢話少說,此js對象是通過封裝頁面上的div,將其彈出,可以彈出多個(gè),參考了一些高人代碼,達(dá)到我要的效果。先看看效果圖。配合一css就可以很好看了。
    2009-10-10
  • postman+json+springmvc測試批量添加實(shí)例

    postman+json+springmvc測試批量添加實(shí)例

    下面小編就為大家分享一篇postman+json+springmvc測試批量添加實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • js中常用的4種模糊查詢詳解(includes()、indexOf()、search()、match())

    js中常用的4種模糊查詢詳解(includes()、indexOf()、search()、match())

    這篇文章主要給大家介紹了關(guān)于js中常用的4種模糊查詢(includes()、indexOf()、search()、match())的相關(guān)資料,搜索可以使我們更快的找到某一個(gè)關(guān)鍵詞或者某一個(gè)商品,所以模糊查詢和下拉匹配也成了前端必備的一個(gè)小技能,需要的朋友可以參考下
    2023-11-11
  • JS中強(qiáng)制類型轉(zhuǎn)換的實(shí)現(xiàn)

    JS中強(qiáng)制類型轉(zhuǎn)換的實(shí)現(xiàn)

    JavaScript中有幾種強(qiáng)制類型轉(zhuǎn)換的方法,可以將一個(gè)數(shù)據(jù)類型轉(zhuǎn)換為另一個(gè)數(shù)據(jù)類型,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-05-05
  • 微信小程序canvas實(shí)現(xiàn)簽名功能

    微信小程序canvas實(shí)現(xiàn)簽名功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序canvas實(shí)現(xiàn)簽名功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01

最新評論