【发布时间】:2010-05-07 11:28:29
【问题描述】:
我有一个 JavaScript 函数来生成一个变量。该功能由 onclick 按钮事件激活。
生成该变量后,我需要将其用作全局变量,以便其他 JavaScript 进程可以使用该变量。
我该怎么做?
【问题讨论】:
-
仅供参考,更不用说进程了,除了我认为 setTimeout 之外,javascript 甚至不使用线程
标签: javascript
我有一个 JavaScript 函数来生成一个变量。该功能由 onclick 按钮事件激活。
生成该变量后,我需要将其用作全局变量,以便其他 JavaScript 进程可以使用该变量。
我该怎么做?
【问题讨论】:
标签: javascript
您应该能够将变量的值添加到全局 window 对象的属性中:
window.yourVarName = yourVarName;
那么其他函数就可以通过直接引用yourVarname来访问yourVarName。无需使用window.yourVarName。
但请记住,一般来说,global variables are evil。
【讨论】:
在函数作用域外声明变量:
var foo = null;
function myClickEvent() {
foo = someStuffThatGetsValue;
}
更好的是,使用单个全局变量作为应用程序的命名空间(“MyApp”),并将值存储在其中:
var MyApp = {
foo: null
};
function myClickEvent() {
MyApp.foo = someStuffThatGetsValue;
}
函数本身甚至可以包含在其中。
【讨论】: