簡體   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