老师,为什么使用let定义循环变量就会创建三个块级作用域呢?
相关截图:
问题描述:
for不是只在循环前定义一次变量,后面每次循环只是重新对 i 赋值吗?
为什么会创建三个块级作用域,而不是共用最后i=3时的同一个作用域呢?
41
收起
正在回答
1回答
同学你好,当let和for循环一起使用时,for循环几次就会形成几个块级作用域,因为在每一次for循环中变量i都是重新声明。当执行第一次for循环时,会形成一个块级作用域,此时块级作用域中的变量i是不能在当前块级作用域之外访问的,当执行第二次for循环时,不能访问第一次for循环形成的块级作用域中的变量i,此时重新使用let声明变量i,形成新的作用域,依次类推。
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星