国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Javascript 命名空間模式

2019-11-20 21:48:27
字體:
來源:轉載
供稿:網友

然而,在不同的文件中給一個命名空間添加屬性的時候,首先要保證這個命名空間是已經存在的,同時不對已有的命名空間造成任何破壞。可以通過非破壞性的命名空間函數實現:

復制代碼 代碼如下:

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;
};

用法:

復制代碼 代碼如下:

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

看一下經過上述后KUI都有什么:

復制代碼 代碼如下:

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

命名空間模式的缺點

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沁阳市| 瓦房店市| 东城区| 南乐县| 景洪市| 宝山区| 宁夏| 汽车| 哈巴河县| 佛教| 大宁县| 肇源县| 嘉善县| 张家口市| 九龙坡区| 黄浦区| 松桃| 蕉岭县| 茂名市| 陆良县| 阿鲁科尔沁旗| 左权县| 安阳县| 灵寿县| 南木林县| 墨竹工卡县| 华安县| 中江县| 南投市| 正蓝旗| 嵊泗县| 利辛县| 榕江县| 巴马| 讷河市| 文成县| 海晏县| 油尖旺区| 丰镇市| 原阳县| 资阳市|