I am using JavaScript and I create a global variable. I define it outside of a function and I want to change the global variable value from inside a function and use it from another function, how do I do this?
This question is related to
javascript
<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>
var a = 10;
myFunction();
function myFunction(){
a = 20;
}
alert("Value of 'a' outside the function " + a); //outputs 20
Just use the name of that variable.
In JavaScript, variables are only local to a function, if they are the function's parameter(s) or if you declare them as local explicitely by typing the var
keyword before the name of the variable.
If the name of the local value has the same name as the global value, use the window
object
See this jsfiddle
x = 1;_x000D_
y = 2;_x000D_
z = 3;_x000D_
_x000D_
function a(y) {_x000D_
// y is local to the function, because it is a function parameter_x000D_
console.log('local y: should be 10:', y); // local y through function parameter_x000D_
y = 3; // will only overwrite local y, not 'global' y_x000D_
console.log('local y: should be 3:', y); // local y_x000D_
// global value could be accessed by referencing through window object_x000D_
console.log('global y: should be 2:', window.y) // global y, different from local y ()_x000D_
_x000D_
var x; // makes x a local variable_x000D_
x = 4; // only overwrites local x_x000D_
console.log('local x: should be 4:', x); // local x_x000D_
_x000D_
z = 5; // overwrites global z, because there is no local z_x000D_
console.log('local z: should be 5:', z); // local z, same as global_x000D_
console.log('global z: should be 5 5:', window.z, z) // global z, same as z, because z is not local_x000D_
}_x000D_
a(10);_x000D_
console.log('global x: should be 1:', x); // global x_x000D_
console.log('global y: should be 2:', y); // global y_x000D_
console.log('global z: should be 5:', z); // global z, overwritten in function a
_x000D_
With ES2015 there came two more keywords const
and let
, which also affect the scope of a variable (Language Specification)
var a = 10;
myFunction(a);
function myFunction(a){
window['a'] = 20; // or window.a
}
alert("Value of 'a' outside the function " + a); //outputs 20
With window['variableName'] or window.variableName you can modify the value of a global variable inside a function.
Source: Stackoverflow.com