2011-12-07 14 views
0

這是一個JS新手問題,我與父母的命名空間基地工作,我有我的這個命名空間中的所有代碼。的Javascript命名空間和私人模塊

文件model.js

 
Base = {} 

Base.Observer = { 
    method1 : function(){//...}, 
    method2 : function(){//...} 
}; 

Base.Bot = function(name){ 
    this.name = name; 
    this.somefunc = function(){}; 
} 

文件presenter.js

 
Base.Presenter = { 

} 

文件helper.js

 
Base.Helper = { }; 

現在我的問題是我想保持這個模塊專用。不允許任何用戶通過任何瀏覽器工具如螢火蟲進入。所以,我只能認爲他們包裹自內執行的匿名功能,使基地到一個局部變量,這將導致該presenter.jshelper.js不能夠訪問基地命名空間。

我想保留文件分開,因爲它有助於保持organizated代碼,但我似乎無法弄清楚什麼是做到這一點的正確方法。希望對此有所幫助。

謝謝

回答

1

所以我只能想到包裹他們的自我內執行的匿名功能,使基地成爲一個局部變量

這是通常的做法

的這會導致presenter.js和helper.js無法訪問Base名稱空間。

函數應該return Base;隨後再爲其分配一個全球性的。

the module pattern

+0

真棒謝謝。那就是我正在尋找的東西。 – Sid