1:關于頂級
代碼如下:var ns = ns || {};
可以看到,其實就是如果發現沒有這個對象,就自動創建new Object();如果有,就直接使用這個對象,這樣就不會覆蓋。
2: 第二級,當然也可以在頂級的ns下創建第二級,即
代碼如下:ns.ModuleClass = {};
可以看到,在ns下創建了一個類,當然也可以繼續創建類里的方法,即是這種:
代碼如下:ns.ModuleClass.method1= function() {////};
3:多級應該怎么做呢,比如這種com.qw.view,我想把他設成一個命名空間,這就要對每一個點分隔的名稱進行分別設置命名空間,分別設成對象
我們看一個例子,把他設置在window下:
代碼如下:
function namespace(sSpace) {
var arr = sSpace.split('.'),i = 0,nameI;
var root = window;
for (; nameI = arr[i++];) {
if (!root[nameI]) {
root[nameI] = {};
}
root = root[nameI];
}
return root;
}
可以看到確實是我上面說的思路,用了一個遍歷,把分隔的全部設成對象,這樣每個分隔的都可以單獨用。
4:列一下常用的,簡單快捷的設置命名空間的小技巧吧
代碼如下:
if (!window.ns) {
window.ns = {};
}
var ns;
if(typeof ns == "undefined"){
ns = {};
}
if(typeof ns.ClassName == "undefined"){
ns.ClassName = {};
}
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com