我正在尝试将我的代码分解为模块,并且在引用我的应用程序的其他模块时遇到问题。
MYAPP = (function(my_app)
{
var funcs = my_app.funcs;
var module2 =
{
stupid_function = function ()
{
var some_var = "auwesome!";
//let's call something from the other module...
funcs.do_whatever();
};
};
my_app.module2 = module2;
return my_app;
})(MYAPP);
当 MYAPP.funcs 发生变化时,问题就来了。例如,当我初始化它并添加新方法时......因为“funcs”是在闭包内创建的,它有一个 MYAPP.funcs 的副本并且没有我需要的新东西。
这就是“funcs”获得更多方法的方式......当我执行方法 MYAPP.funcs.init() 时,MYAPP.funcs 会自行重写。
var MYAPP = (function (my_app, $)
{
'use_strict';
my_app.funcs = {};
my_app.funcs.init = function ()
{
panel = my_app.dom.panel;
funcs = my_app.funcs;
query_fns = funcs.query;
my_app.funcs =
{
some_method: function () { ... },
do_whatever: function () { ... }
};
};
return my_app;
}(APP, jQuery));
提前致谢!!
万一这对任何人来说都很有趣......
我用于调制的方法是“紧密增强” http://webcache.googleusercontent.com/search?hl=es-419&q=cache%3Aadequatelygood.com%2F2010%2F3%2FJavaScript-Module-Pattern-In-Depth&btnG =