javascript - JavaScript 中处理大量全局变量

标签 javascript global-variables global

我有一个 JavaScript 应用程序,它使用大量全局变量(例如,数百个 - 它是 C 程序的端口,所以我没有这样编写)。显然,在 Window 对象中拥有如此多的变量是非常糟糕的做法,但我正在努力想出一种简单的方法来执行此操作。
目前我认为这是前进的方向:

var myApp = {};

//file1.js:
myApp.variables = (function() {
    var var1, var2, var3;
    var items = new exampleConstructorFunction();
    var etcereta = [];
})();

//file2.js:
myApp.gameplay = (function() {
    //gameplay code
})();

//file3.js:
myApp.scheduling = (function() {
    //timing code
})();

但问题是,为了从 gameplaytiming 中定义的函数访问 myApp.variables 中的任何变量,您需要将其指定为 myApp.variables.var1 ,当您需要经常使用它们时,这对于可读性来说非常糟糕。有什么建议吗?

最佳答案

您可以直接将当前的全局变量直接存储在 myApp 中,或者您可以避免这种方法并将整个脚本包装在匿名函数中并执行它 - 就像 (function() { })()那么您不需要为变量命名空间以使它们脱离全局范围。

关于javascript - JavaScript 中处理大量全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23587088/

相关文章:

javascript - pnotify:按钮不起作用

javascript - 在 cognos 中使用 Javascript 验证日期

javascript - 提交表单取决于点击的颜色

cocoa - 如何在 cocoa 应用程序中阻止/重定向全局键盘事件

javascript - 如何使用多个 ID 重构这种颜色变化

Javascript:全局变量=坏?

c# - 如何在 C# 中获得对枚举类型的全局访问权限?

Javascript 在其他函数中重用变量

javascript - 需要关于摆脱全局变量的建议/帮助

mysql - 是否有打开/关闭 general_log 全局设置的查询?