【发布时间】:2012-12-04 09:04:52
【问题描述】:
我有下一段代码:
var i = 11;
alert(i);
function a(){
alert(i);
var i = 2;
alert(i);
}
a()
第二个alert(i)(在函数内部)产生undefined。我猜这与 JS 引擎在代码中运行的方式有关——也许它在遍历代码之前没有先存储变量?
反正我认为这不是问题是JS,因为它支持提升。我可能弄错了——有人愿意解释一下吗?
谢谢!
【问题讨论】:
-
关于这个问题有几个重复的问题:this question 和 this one 处理此事
标签: javascript undefined hoisting