ES6之前的嵌套for循环,如果给内外层循环使用同样的自增变量i:
for (var i = 0; i < 3; i++) {
for (var i = 0; i < 3; i++) {
console.log('内层循环:' + i);
}
}
输出结果为:
使用ES6中的let给内外层循环使用同样的自增变量i:
for (let i = 0; i < 3; i++) {
for (let i = 0; i < 3; i++) {
console.log('内层循环:' + i);
}
console.log(i);
}
输出结果为:
说明let声明的变量只在其当前的块级作用域中有效。
注意:
无论是使用var还是let声明变量,都不建议在嵌套循环中使用同样的变量名称i。