JS 命名空間

 

我們知道,javascript遇到同名的方法時不會報錯,當兩個程序員寫了兩個名稱完全一樣的方法,如:

function hello() {
    alert('程序員A的方法');
}
function hello() {
    alert('程序員B的方法');
}

假如在我們不知道的情況下,在同一個頁面引用了兩個相同的叫做hello的方法,其中一個是程序員A寫的,另一個是程序員B寫的,在這種情況下,頁面調用的究竟是哪一個程序員寫的hello方法呢?答案是:都有可能!那麼怎樣可以避免這種情況,精確調用目標方法呢?我們知道C#中有namespace,java有package……,那麼javascript呢?當然也有,接下來就是你想要的答案了!

// 聲明一個命名空間
var myNamespace = {};

// 在此命名空間下聲明方法
myNamespace.hello = function() {
    alert('命名空間myNamespace下的hello');
}

function hello() {
    alert('沒有命名空間的hello');
}

// 調用
myNamespace.hello(); // 結果:命名空間myNamespace下的hello
hello(); // 沒有命名空間的hello

發佈了23 篇原創文章 · 獲贊 5 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章