Eric Sim
Eric Sim

Reputation: 267

Turn a JavaScript local variable into a global variable

I have a JavaScript function to generate a variable. That function is activated by an onclick button event.

After that variable is generated, I need to use it as a global variable so that other JavaScript processes can use that variable.

How do I do it?

Upvotes: 16

Views: 26838

Answers (2)

roryf
roryf

Reputation: 30160

Declare the variable outside the scope of the function:

var foo = null;

function myClickEvent() {
    foo = someStuffThatGetsValue;
}

Better yet, use a single global variable as the namespace ("MyApp") for your application, and store the value inside that:

var MyApp = {
    foo: null
};

function myClickEvent() {
    MyApp.foo = someStuffThatGetsValue;
}

The function itself could even be included in there.

Upvotes: 3

Daniel Vassallo
Daniel Vassallo

Reputation: 344301

You should be able to add the variable's value to a property of the global window object:

window.yourVarName = yourVarName;

Then the other functions will be able to access yourVarName simply by referencing yourVarname directly. There will be no need to use window.yourVarName.

However keep in mind that in general, global variables are evil.

Upvotes: 13

Related Questions