然而,在不同的文件中為一個命名空間添加屬性的時候,首先要保證這個命名空間是已經存在的,同時不對已有的命名空間造成任何破壞。可以透過非破壞性的命名空間函數實現:
var KUI = KUI || {};
var KUI = KUI|| {};
KUI.utils.namespace = function(ns){
var parts = ns.split("."), i, len;
if(parts[0] === "KUI"){
for(i = 0, len = parts.length; i
if(!object[parts[i]]){
{};
}
object = object[parts[i]];
🎜>
用法:
複製程式碼
程式碼如下:
看一下經過上述後KUI都有什麼:
複製程式碼
代碼如下:
🎜> "common": {
"testing": {}
},
" "plugins": {}
}
},
"format": {}
}
命名空間模式的缺點
1.需要輸入更長的字符,並且需要更長的解析時間;
2.對單全局變量的依賴性,即任何代碼都可以修改該全局實例,其他代碼將獲得修改後的實例。