返回列表 發帖

請問一個用物件做命名空間的問題

各位大大小弟看書學習遇到一些無法理解的部分,還請各位大大能解惑:
Q1.不是很理解為什麼在firebug中顯示出來的命名空間路徑會是槽狀結構?
Q2.console.log(parent); 跟 console.log(MYAPP); 在firebug中為什麼顯示的是不一樣的?

以下是書籍中的程式片段:

var MYAPP = MYAPP || {};
MYAPP.namespace = function(ns_string){
        var parts = ns_string.split("."),
              parent = MYAPP,
              i;
       
        if(parts[0]==="MYAPP"){
                 parts = parts.slice(1);
        }
       
        //判斷在MYAPP全域物件中有沒有這次要新增的屬性
        for( i = 0; i < parts.length; i += 1 ){
                //如果屬性不存在就建立
                if( typeof parent[parts[i]] === "undefined" ){
                        parent[parts[i]] = {};
                }
                parent = parent[parts[i]];
        }
        console.log(parent);
        console.log(MYAPP);
        return parent;
}
MYAPP.namespace("MYAPP.a.b.c.d");
50 字節以內
不支持自定義 Discuz! 代碼

返回列表 回復 發帖