如何更改函数内的全局variables的值

我正在使用JavaScript,并创build一个全局variables。 我在一个函数之外定义它,我想从一个函数内部改变全局variables的值,并从另一个函数中使用它,我该怎么做?

只需引用函数内的variables; 没有魔法,只是用它的名字。 如果它是全局创build的,那么你将会更新全局variables。

你可以使用var在本地声明它,但是如果你不使用var ,那么函数中使用的variables名将是全局variables,如果该variables已经被全局声明的话。

这就是为什么总是用var显式声明你的variables是最好的做法。 因为如果你忘了它,你可能会意外地开始混淆全局variables。 这是一个容易犯的错误。 但在你的情况,这个转身,成为一个简单的答案你的问题。

 var a = 10; myFunction(); function myFunction(){ a = 20; } alert("Value of 'a' outside the function " + a); //outputs 20 

只需使用该variables的名称。

在JavaScript中,variables只对函数是本地的,如果它们是函数的参数,或者通过在variables的名称之前键入var关键字来明确地声明它们。

如果本地值的名称与全局值名称相同,则使用window对象

看到这个jsfiddle

 x = 1; y = 2; function a(y) { // y is local to the function, because it is a function parameter alert(y); // 10 y = 3; // will only overwrite local y, not 'global' y var x; // makes xa local variable x = 4; // only overwrites local x alert(y); // 3 alert(x); // 4 // global value could be accessed by referencing through window object alert(window.y) // 2 global y } a(10); alert(x); // 1; this is the global value alert(y); // 2; global as well 
 <script> var x = 2; //X is global and value is 2. function myFunction() { x = 7; //x is local variable and value is 7. } myFunction(); alert(x); //x is gobal variable and the value is 7 </script>