将javascript局部变量转换为全局变量

时间:2010-05-07 11:28:29

标签: javascript

我有一个javascript函数来生成var。该功能由onclick按钮事件激活。

生成var之后,我需要将它用作全局变量,以便其他js进程可以使用该变量。

我该怎么做?

2 个答案:

答案 0 :(得分:12)

您应该能够将变量的值添加到全局window对象的属性中:

window.yourVarName = yourVarName;

然后其他功能只需直接引用yourVarName即可访问yourVarname。不需要使用window.yourVarName

但请注意,一般情况下,global variables are evil

答案 1 :(得分:3)

声明变量超出函数范围:

var foo = null;

function myClickEvent() {
    foo = someStuffThatGetsValue;
}

更好的是,使用单个全局变量作为应用程序的命名空间,并将值存储在:

var MyApp = {
    foo: null
};

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

函数本身甚至可以包含在那里