获得徽章 0
- 刚发现个好玩的问题。
大家知道 let 不允许重复声明,那么大家能猜到下面代码会打印出什么吗?
for (let i = 0; i < 3; i++) {
let i = 3;
console.log(i);
}
...
...
...
好吧不卖关子了,上面代码会打印出三次 3 。额,没报错是不是很失望?其实呢,使用let的for循环有一个特别之处,就是设置循环变量的那部分是一个父作用域(就是(...)中的那部分),而循环体内部是一个单独的子作用域(就是{...}中的那部分),所以不存在重复性声明。
学到了吧?好吧阮一峰es6我看了好几遍,也没记住有这么个玩意。展开评论4