如何基于模块模式访问/创建子模块?
我希望能够在我的Modules.js主文件中访问子模块的方法。
Module.js
var Module = (function() {
function A(){
console.log("Module: A");
B();
};
function B(){
console.log("Module: B");
Module.Utils.C(); /* Here is the problem */
};
return {
A:A,
B:B
}
} ());
$(function() {
Module.A();
});
Module.Utils.js
var Module = Module ? Module : {};
Module.Utils = (function() {
var settings = {
x : 1,
y : 2
};
function C(){
console.log("Module.Utils: C");
};
function D(){
console.log("Module.Utils: D");
};
return {
C:C,
D:D
}
}());
var Module = Module ? Module : {};
的问题在于,如果你的子模块在主模块之前加载,那么主模块的声明将会覆盖子模块的声明,而且不会抛出任何异常。 - João Pimentel Ferreira