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

Javascript 命名空間模式

 更新時(shí)間:2013年11月01日 11:03:18   作者:  
命名空間是通過(guò)為項(xiàng)目或庫(kù)創(chuàng)建一個(gè)全局對(duì)象,然后將所有功能添加到該全局變量中。通過(guò)減少程序中全局變量的數(shù)量,實(shí)現(xiàn)單全局變量,從而在具有大量函數(shù)、對(duì)象和其他變量的情況下不會(huì)造成全局污染,同時(shí)也避免了命名沖突等問(wèn)題

然而,在不同的文件中給一個(gè)命名空間添加屬性的時(shí)候,首先要保證這個(gè)命名空間是已經(jīng)存在的,同時(shí)不對(duì)已有的命名空間造成任何破壞??梢酝ㄟ^(guò)非破壞性的命名空間函數(shù)實(shí)現(xiàn):

復(fù)制代碼 代碼如下:

var KUI = KUI || {};
KUI.utils = KUI.utils || {};

KUI.utils.namespace = function(ns){
    var parts = ns.split("."),
        object = KUI,
        i, len;

    if(parts[0] === "KUI"){
        parts = parts.slice(1);
    }

    for(i = 0, len = parts.length; i < len; i+=1){

        if(!object[parts[i]]){
            object[parts[i]] = {};
        }

        object = object[parts[i]];
    }

    return object;
};

用法:

復(fù)制代碼 代碼如下:

KUI.utils.namespace("KUI.common");
KUI.utils.namespace("KUI.common.testing");
KUI.utils.namespace("KUI.modules.function.plugins");
KUI.utils.namespace("format");

看一下經(jīng)過(guò)上述后KUI都有什么:

復(fù)制代碼 代碼如下:

{
    "utils": {},
    "common": {
        "testing": {}
    },
    "modules": {
        "function": {
            "plugins": {}
        }
    },
    "format": {}
}

命名空間模式的缺點(diǎn)

1.需要輸入更長(zhǎng)的字符,并且需要更長(zhǎng)的解析時(shí)間;
2.對(duì)單全局變量的依賴性,即任何代碼都可以修改該全局實(shí)例,其他代碼將獲得修改后的實(shí)例。

相關(guān)文章

  • layui之table checkbox初始化時(shí)選中對(duì)應(yīng)選項(xiàng)的方法

    layui之table checkbox初始化時(shí)選中對(duì)應(yīng)選項(xiàng)的方法

    今天小編就為大家分享一篇layui之table checkbox初始化時(shí)選中對(duì)應(yīng)選項(xiàng)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • 通過(guò)微信公眾平臺(tái)獲取公眾號(hào)文章的方法示例

    通過(guò)微信公眾平臺(tái)獲取公眾號(hào)文章的方法示例

    這篇文章主要介紹了通過(guò)微信公眾平臺(tái)獲取公眾號(hào)文章的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 火狐textarea輸入法的bug的觸發(fā)及解決

    火狐textarea輸入法的bug的觸發(fā)及解決

    在firefox中,如果一個(gè)textarea獲取焦點(diǎn),在輸入法激活的狀態(tài)如果這時(shí)js將該textarea的value修改,那么該textarea會(huì)直接被清空,下面是具體的解決方法,遇到類似問(wèn)題的朋友可以參考下
    2013-07-07
  • javascript從作用域鏈談閉包

    javascript從作用域鏈談閉包

    這篇文章主要從作用域鏈談閉包,閉包(closure)是Javascript語(yǔ)言的一個(gè)難點(diǎn),也是它的特色,很多高級(jí)應(yīng)用都要依靠閉包實(shí)現(xiàn),本文針對(duì)閉包進(jìn)行學(xué)習(xí),需要的朋友可以參考下
    2015-12-12
  • Meta 標(biāo)簽生成器

    Meta 標(biāo)簽生成器

    非常不錯(cuò)的可以生產(chǎn)標(biāo)簽的小東西
    2008-04-04
  • JS 獲取頁(yè)面尺寸的方法詳解

    JS 獲取頁(yè)面尺寸的方法詳解

    通過(guò) JS 獲取頁(yè)面相關(guān)的尺寸是比較常見的操作,尤其是在動(dòng)態(tài)計(jì)算頁(yè)面布局時(shí),今天我們就來(lái)學(xué)習(xí)一下幾個(gè)獲取頁(yè)面尺寸的基本方法,需要的朋友可以參考下
    2023-09-09
  • ExtJs使用自定義插件動(dòng)態(tài)保存表頭配置(隱藏或顯示)

    ExtJs使用自定義插件動(dòng)態(tài)保存表頭配置(隱藏或顯示)

    這篇文章主要介紹了ExtJs使用自定義插件動(dòng)態(tài)保存表頭配置(隱藏或顯示) ,需要的朋友可以參考下
    2018-09-09
  • js與運(yùn)算符和或運(yùn)算符的妙用

    js與運(yùn)算符和或運(yùn)算符的妙用

    這篇文章主要介紹了js與運(yùn)算符和或運(yùn)算符的使用方法,需要的朋友可以參考下
    2014-02-02
  • uniapp項(xiàng)目引入?js文件以及全局使用方法

    uniapp項(xiàng)目引入?js文件以及全局使用方法

    這篇文章主要給大家介紹了關(guān)于uniapp項(xiàng)目引入?js文件以及全局使用方法的相關(guān)資料,在Uniapp中引入JS文件是一項(xiàng)常見的操作,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Javascript 事件流和事件綁定

    Javascript 事件流和事件綁定

    本文中的部分觀點(diǎn)參考至《Javascript高級(jí)程序設(shè)計(jì)》(很好的一本書,推薦大家看看?。?,addEvent函數(shù)借鑒了YUI2.7的_addListener方法,這里也要謝謝YUI那些牛人,向他們致敬!
    2009-07-07

最新評(píng)論