a = 1;function f() { alert(a); var a = 2;}f();这代码不应该输出2吗?
1 回答
12345678_0001
TA贡献1802条经验 获得超5个赞
函数作用域和声明提前。既然题主提到这两个知识点了,说明对JS还是有些了解的
注意声明提前就只是声明提前,赋值并不提前,所以的话,上述代码相当于
a = 1;
function f() {
var a //声明提前
alert(a);
a = 2;
}
f();
所以应该输出的是undefined
添加回答
举报
0/150
提交
取消