为什么在第一个for里面定义的var a=2,可以在第二个for里面调用输出呢??
# 具体遇到的问题
<script>
//for与let形成块级作用域
for( let i = 0; i < 3; i++){
if(i == 2){
console.log(a);//undefined(变量提升,只提升变量的定义,并不提升变量的值)
var a = 2;
}
}
for (var i = 0; i < 3; i++) {
if (i == 2) {
console.log(a); //输出2
// var a = 2;
}
}
</script>
38
收起
正在回答
2回答
同学你好,虽然变量a是在块级作用域中声明的,但是使用的是var声明的,在其他地方是可以调用的。
第二个for循环中打印的a,就是在第一个for循环中定义的变量a的值。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星