大家好,我是奶綠茶 今天來討論 JavaScript Namesapce 命名空間 首先來了解一下 JS 的變數命名原理 var myVar = "milkmidi"; // 我是其他的程式碼 // 我是其他的程式碼 // ... // 我是其他的程式碼 var myVar = 0; 可以發現 myVar 被宣告了二次 而後者變數會蓋掉前則 function 也是一樣的原理 function myFun(){ } // 我是其他的程式碼 // 我是其他的程式碼 // ... // 我是其他的程式碼 function myFun(){ // 蓋掉之前同名的 myFun 函式 } 當然自己寫的程式不會發生同變數/函式 但如果跟其他人一起 Team Work 時,難保別人寫的名稱和你一樣 為了避免互蓋的問題 所以我們引用了 Namespace 的方法 但 JS 並沒有真正的 Namespace 而且是 Object 來模擬 // 用 Object 來當 Namespace // 變數名稱就用自己的英文名來命名 var milkmidi = {}; milkmidi.myVar = "milkmidi"; milkmidi.myFun = function(){ } // 我是其他的程式碼 // 我是其他的程式碼 // ... // 我是其他的程式碼 var otherPartner = {}; otherPartner.myVar = "otherPartner"; otherPartner.myFun = function(){ } // 要呼叫自己寫的函式就用 milkmidi.myFun(); // 同事寫的就用 otherPartner.myFun(); 這樣就可以決解彼此互蓋問題。 決解自己蓋自己的命名空間 為了開發方便 會把自己常用的 JS 依功能來分類 JS 命名空間也只是用Object變數來模擬,一樣會發生蓋掉的問題 // script a.js var milkmidi = {}; milkmidi.getTitle = function(){}; // script b.js var milkmidi = {}; milkmidi...