以下是我的模块模式。
var Application = (function ($, window, undefined) {
}(jQuery, window));
有什么方法可以加载我的其他类/对象作为参数?例如,如果我在Helper.js
目录中有一个名为Utils
的文件,它又是一个模块模式。我可以将它作为argument
传递给我,并在我的Application类中使用它,以便我可以避免使用global variables in my class.
var Application = (function ($, window, undefined) {
}(jQuery, window, Helper));
答案 0 :(得分:2)
如果您将Helper
定义为局部变量(使用var
),则不会使全局范围混乱。
<script type="text/javascript">
var Helper = (function() {
var helper = { ... };
return helper;
}());
</script>
<script type="text/javascript">
var Application = (function ($, window, helper) {
}(jQuery, window, Helper));
<script>
了解有关全局变量的详情:Difference between variable declaration syntaxes in Javascript (including global variables)?
用于实现模块模式的一个好工具是使用模块加载器,请查看RequireJS
答案 1 :(得分:1)
这应该是您所需要的,只需将其作为模块的参数传递并在undefined
之前粘贴它,您可以在需要模块时多次执行此操作。
var Application = (function ($, window, Helper, undefined) {
}(jQuery, window, Helper));