Window.onload范围

时间:2015-06-03 01:37:38

标签: javascript variables scope

假设我有以下代码:

var x;
window.onload = function(){
   x=4;
};
console.log(x);

控制台不输出4,但未定义。

有谁知道我怎么能在window.onload函数之外访问更改的x变量?

提前致谢!

2 个答案:

答案 0 :(得分:4)

这与javascript的异步行为有关。 console.log被解雇后,window.onload不会发生。他们是独立的事件。如果你想输出x,你需要做

var x;
window.onload = function(){
   x=4;
   console.log(x);
};

答案 1 :(得分:2)

window.onload()表示加载DOM树后,运行此函数。因此,console.log(x)将在window.onload()运行

之前运行