将对象/类作为参数传递

时间:2014-05-14 07:33:43

标签: javascript prototype

以下是我的模块模式。

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));

2 个答案:

答案 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));