这是Javascript中的模块模式
我有一个具有常用函数的小库。它的结构如下:这是Javascript中的模块模式,javascript,Javascript,我有一个具有常用函数的小库。它的结构如下: var $MY_APP = (function() { return { GROUP1: { method1 : function(){ console.log("Test"); }, method2 : function(){} }, GROUP2: { method1 : function(){ },
var $MY_APP = (function() {
return {
GROUP1: {
method1 : function(){ console.log("Test"); },
method2 : function(){}
},
GROUP2: {
method1 : function(){ },
method2 : function(){}
},
GROUPX: {
method1 : function(){ $MY_APP.GROUP1.method1(); },
method2 : function(){}
},
}
})();
是否可以从GROUPX的任何方法调用另一个组方法,而不执行示例中的操作
$MY_APP.utils.GROUP1.method1();
在这种情况下你能抓住这个吗?有可能吗?您是否考虑过使用完整的模块/加载系统,例如?这可能会很有帮助,尤其是如果您获得更多的组,或者将它们拆分到多个文件中 要获得现在可以使用的版本,只需使用中间变量。在return语句中,不要一次声明所有模块,而是更早地声明它们并将它们分配给应用程序中的变量。这使得它们可以更简单地相互引用,您可以稍后将它们全部返回到一个组中 例如:
var message=$(“#message”);
var$MY_APP=(函数(){
变量组1={
方法1:函数(){
消息文本(“测试”);
},
方法2:函数(){}
};
变量组2={
方法1:函数(){},
方法2:函数(){}
};
var GROUPX={
方法1:函数(){
组1.method1();
},
方法2:函数(){}
};
返回{
第一组:第一组,
第二组:第二组,
GROUPX:GROUPX
}
})();
$MY_APP.GROUP1.method1()代码>