如何在不刷新页面的情况下设置全局变量原始值

时间:2018-06-29 11:41:08

标签: javascript jquery

如何设置全局变量默认值

我在整个项目中有200个全局变量,并且需要在不刷新应用程序页面的情况下将所有变量重置为与我们在加载时设置的初始值相同的值。这200个全局变量分布在200个文件中,而且我们还在函数内部创建了一些变量,因此我无法存储要重置的默认值。我获得默认值的任何功能或任何Windows对象 例如:这只是一个例子

client.login()

在我的不同文件中,这些值将被更改,例如

Text="Testig";
X="100";
Y="200";

我需要重置这些修改后的值

2 个答案:

答案 0 :(得分:0)

也许是这样的:

var Text,X,Y;

function set_default(){
   Text="Testig";
   X="100";
   Y="200"
}

 set_default();

 Text="Testing-1";
 X="101";
 Y="201";

 console.log(Text,X,Y);
 set_default();
 console.log(Text,X,Y);

更新:

您可以编写一个通用函数来检查全局变量的可用性。然后在可用时为其分配默认值。 像这样:

var test,X,Y,xxx;

function set_global_default(){
   for(var key in window){
     switch(key){
        case 'test':              /* global variable name */
            window[key]="Testig"; /* global variable value */
            break;
        case 'X':
            window[key]="100";
            break;
        case 'Y':
            window[key]="200";
            break;
        case 'xxx':
            window[key]="000";
            break;
        case 'abc':
            window[key]="abc";
            break;
        /* ...more... */                
       }
   }
}

 set_global_default();

 test="Testing-1";
 X="101";
 Y="201";
 xxx="xxx";

 console.log(test,X,Y,xxx);
 set_global_default();
 console.log(test,X,Y,xxx);

答案 1 :(得分:0)

我建议将变量存储为对象,例如

var defaultValues = {
   text: "Testig",
   x: 100,
   y: 200
}
var data = defaultValues;

您可以使用data变量,例如

data.text = "My new text";
alert(data.text);

当您希望将所有当前数据替换为默认值时,只需执行一次分配即可,例如,在一次点击事件中:

<button onclick="javascript: data=defaultValues;">

因此,避免避免分别重新分配所有变量。