a会打印出什么?
var a = 2;
function hoist() {
console.log(a);//undefined
var a = 1;
console.log(a);//1
}
hoist();上面的代码等价于等价于下面 打印A的时候a只是声明未定义函数声明与变量声明会被 JavaScript 引擎隐式地提升到当前作用域的顶部,但是只提升名称不会提升赋值部分。 var a = 2;
function hoist() {
var a;
console.log(a);
a = 1;
console.log(a);
}
本文通过一个JavaScript函数示例解释了变量提升的概念。展示了在函数执行前,变量声明如何被提升到作用域顶部,但其赋值部分则不被提升。通过实际代码运行结果,帮助读者理解这一特性。

被折叠的 条评论
为什么被折叠?



