我在JS漂亮的空中接力新的有下面的代碼至今:JS OOP - 結構在多個文件中
(function (ns) {
ns.addSection = function (name, def) {
ns[name] = new def();
}
}(this.PG_GuiHelper = this.PG_GuiHelper || {}));
/**
* HOVERTIP
*
* shows submenu on click/hover
*/
PG_GuiHelper.addSection('hovertip',function(){
var section = this;
/**
* init
*/
section.init = function() {
section.registerListener();
}
現在我有助手爲形式的第二個文件。還有像這個代碼一樣的ns閉包。兩者都很好。
目標:
文件ns.js
(function (ns) {
ns.addSection = function (name, def) {
ns[name] = new def();
}
}(this.PG_Library = this.PG_Library || {}));
,現在我的問題:我如何可以在新的「部分」添加到現有hovertip幫手得到這個電話至少:PG_Library.guiHelper.hovertip.init();
現有的調用現在是:PG_GuiHelper.hovertip.init()。我希望你明白我的意思。 1 ns函數適用於所有文件。每個文件都可以有各自的小節。並用PG_Library.section.subsection.function()處理。
thx!這工作正常,但我不喜歡添加everthing窗口對象,我必須創建函數並註冊它seperatly。 – roman
在這種情況下,不要使用'this',因爲'this'是對'window'的引用,在你的情況下。 –
檢查我的編輯,看看你如何重構不能創建多個全局變量。 –