首先我们来看看用 var 申明变量的情况:
<script>
window.onload = function(){
for(var i=0;i<3;i++){
}
console.log(i);
}
</script>
输出结果如下:
分析:
for循环的 {} 之间为一个代码块,由于用 var 申明的变量不具有块级作用域,所以在for循环 {} 代码块之外可以访问 i 变量的值。
我们再用 let 申明变量试试:
<script>
window.onload = function(){
for(let i=0;i<3;i++){
}
console.log(i);
}
</script>
输出结果如下:
分析:
提示变量 i 没有被定义,说明for循环代码块以外的地方不能访问代码块里面用 let 申明的变量 i