javascript - 将对象/类作为参数传递

标签 javascript prototype

下面是我的模块模式。

var Application = (function ($, window, undefined) {

}(jQuery, window));

有什么方法可以将我的其他类/对象作为参数加载?例如,如果我在 Utils 目录中有一个名为 Helper.js 的文件,这又是一个模块模式。我可以像下面那样将它作为 argument 传递并在我的 Application 类中使用它,这样我就可以避免在我的类中使用 global 变量。

var Application = (function ($, window, undefined) {

}(jQuery, window, Helper));

最佳答案

如果您将 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

关于javascript - 将对象/类作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23648291/

相关文章:

Javascript 原型(prototype)继承 : problem when parent and child receive same object as argument?

javascript - 这是将一个对象原型(prototype)复制到另一个对象原型(prototype)的安全方法吗?

javascript - 根据滚动视口(viewport)自动隐藏div

javascript - "TypeError: Cannot create proxy with a non-object as target"的 ES6 代理解决方法?

javascript - 鼠标悬停在整个页面而不是一个元素上工作?

javascript - 在函数原型(prototype)中重新定义 "this"并使用新参数运行它

javascript - 为什么定义的属性中的 "this"范围错误?

javascript - 在 Ajax 中更新 View 而不刷新页面

javascript - 如何等待自动发布的订阅 Iron Router?

javascript - 替换 JavaScript 中的正则表达式匹配