[英]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
})();
但是問題是,為了從gameplay
或timing
定義的函數訪問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.