for (let i = 0; i < 3; i++) {
let i = 5;
console.log(i);
}
输出结果为:
由此可见,循环根据循环变量的变化执行了3次,循环变量i的变化并没有影响循环体内变量i。
上述执行过程可以按照下述代码执行来理解:
let i = 0;
if (i < 3) {
let i = 5;
console.log(i);
}
i++;
if (i < 3) {
let i = 5;
console.log(i);
}
i++;
if (i < 3) {
let i = 5;
console.log(i);
}
i++;
输出结果为:
注意:同一个作用域中不能使用let重复声明同一个变量:
for (let i = 0; i < 3; i++) {
let i = 5;
let i = 15;
console.log(i);
}
报错,提示i已经被声明: