Javascript原生并不支持命名空間,需要變通來實現。
在我們創建一個JavaScript庫時,命名空間就顯得舉足輕重了,我們可以將組成這個JavaScript庫的零散的JavaScript文件(*.js)封裝在命名空間中,而無須定義全局的函數或類。比如在本章節多次出現的Person,我們就可以作為庫的一部分封裝到合適的命名空間中:
Code 5-13:
復制代碼 代碼如下:
var com = {};
com.anyjava = {};
com.anyjava.Person = function(name) {
//私有成員
var _name = name;
//訪問器
this.getName = function() {
return _name;
};
this.setName = function(name) {
_name = name;
};
};
//原型
com.anyjava.Person.prototype = {
eat:function() {
alert(this.getName() + " is eating something.");
},
sleep:function() {
alert(this.getName() + " is sleeping.");
},
walk:function() {
alert(this.getName() + " is walking.");
}
};
var dirk = new com.anyjava.Person("Dirk");
dirk.eat();
Code 5-14:
復制代碼 代碼如下:
var ns = com.anyjava;
var dirk = new ns.Person("Dirk");
dirk.eat();
Code 5-15:
復制代碼 代碼如下:
if (typeof com.anyjava == "undefined") var com.anyjava = {};
新聞熱點
疑難解答
圖片精選