我想知道 javascript 提升如何用于全局变量。
假设我有以下代码片段:
var a = 5;
function print(){
console.warn("a",a,b);
var a = 10;
b=5;
console.warn("a",a);
}
print();
在这种情况下,我收到错误“b 未定义”。我想知道为什么 Javascript 提升不适用于全局变量。我试图寻找这个,但只得到变量提升的结果。有什么想法吗??
var
声明被悬挂。功能声明被吊起。作业不会被提升(如果您将一个var
带有赋值语句(var foo = 1
) 那么声明部分会被提升,但赋值不会)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)