繁体   English   中英

在JavaScript中处理大量全局变量

[英]Dealing with large amount of global variables in JavaScript

我有一个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() { })()则无需为变量命名空间使它们脱离全球范围。

如果您只关心变量名的长度,是否不能只在局部作用域中定义对它的引用?

var v = myApp.variables;

我使用ASP,Windows服务器,MS SQL DB,但是这也可以在PHP,基于Linux的服务器,MySQL DB中完成。 您将需要创建一个或多个数据库,然后编写一个ASP脚本(或PHP脚本)以将变量的值存储在数据库中,然后(再次使用ASP / PHP脚本)调用/使用它们。 这不是一个简单的脚本编写任务,但是在ASP(PHP论坛)中有很多可以改编的示例。 一旦编写了脚本并将其存储在服务器端数据库中,便可以重新使用,修订。 可以容纳许多数据字段和值。 HTH

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM