4

我想知道 javascript 提升如何用于全局变量。

假设我有以下代码片段:

var a = 5;
function print(){
    console.warn("a",a,b);
    var a = 10;
    b=5;
    console.warn("a",a);
}
print();

在这种情况下,我收到错误“b is not defined”。我想知道为什么 Javascript 提升不适用于全局变量。我试图寻找这个,但只得到变量提升的结果。有什么想法吗??

4

1 回答 1

4

var声明被提升。函数声明被提升。不会提升赋值(如果将var语句与赋值 ( var foo = 1) 组合,则声明部分会提升,但不会提升赋值)。

于 2014-11-05T09:08:50.650 回答