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