下面是一個JavaScript應用程序模塊化佈局的示例。我想開始爲我的工作使用這樣的結構。我正在努力讓自己的頭腦如何工作,並且需要了解如何從不同的模塊中調用一個模塊中定義的函數?這絕對是佈局JavaScript重型應用程序的下注方式嗎?Javascript模塊佈局:如何從另一個模塊中調用一個模塊中定義的函數?
window.MainModule = (function($, win, doc, undefined) {
var modules = {};
// -- Create as many modules as you need ...
modules["alerter"] = (function(){
var someFunction = function(){ alert('I alert first'); };
return {
init: someFunction
};
}());
modules["alerter2"] = (function(){
var someFunction = function(){ alert('I alert second'); };
return {
init: someFunction
};
}());
return {
init: function(){
for (var key in modules){
modules[key].init();
}
}
};
}(jQuery, this, document));
$(window.MainModule.init);
您應該考慮閱讀「JavaScript:The權威指南,第5版」的第10章「模塊和命名空間」。 – 2011-02-26 10:46:59
Tbh。這是一個可怕的模式。在包裝器中定義模塊,啓動所有模塊。沒有辦法外部添加/刪除模塊,沒有辦法決定要運行什麼和不運行......這很愚蠢。不提多餘的自我執行功能。使代碼看起來模塊化語義不模塊化... – BGerrissen 2011-02-26 11:15:32
@BGerrissen所以任何幫助,將不勝感激... – wilsonpage 2011-02-26 11:18:26