采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,我想问下下面这段代码,为什么最后打印的是5个10,for的小括号里面已经定义了i,为什么在它后面的大括号里面还可以定义一个i,let不是不能重复声明么?
let i = 1 for (let i = 0; i < 5; i++) { let i = 10 console.log(i) }
for 循环体里面,不应该再用 let i 了,没有这么用的。
我不知道当时面试官是想透过这个问题考察哪个知识点,为什么for循环里面的let i = 10没报错?不是同一个作用域么?还是什么?
我理解 for 循环的 { } 里面,应该是一个独立的作用域,let i = 10 就是这个作用域赋值的。不过这种考察方式,也是挺怪异的,感谢并没有什么实际意义。
好滴~谢谢老师耐心解答~ღ( ´・ᴗ・` )比心
登录后可查看更多问答,登录/注册
BAT高级前端工程师亲授,结合真实面试题,提高面试成功几率
984 19
957 17
1.1k 11
1.1k 10
1.0k 10