嗯,没有理解为什么结果是这样的,希望有人指点一下!
//会陷入无限循环
for (var i = 0; i < 3; i++) {
console.log(i);
var i = 1;
}
//不会陷入无限循环
for (var i = 0; i < 3; i++) {
console.log(i);
var i = 2;
}
1
nznd 2021-03-04 15:26:46 +08:00
应该和作用域无关把...
搁哪个语言都这样... 第二个 i++完是 3 了,不满足条件 跳出循环 只执行一次 |
2
duduaba 2021-03-04 15:27:34 +08:00
1 、i=1 后 i++ 这时 i=2 了,小于 3 进入循环,然后 i=1 又 i++ 。。。无限循环
2 、i=2 后 i++ 了 i=3 已经不满足条件,循环结束。 这不是作用域的问题,这是 i++ 没懂什么意思 |
3
idealhs 2021-03-04 15:28:25 +08:00
i ==3 了已经
|
4
yaphets666 2021-03-04 15:29:05 +08:00
for 循环你没学会 再学学 和变量作用域没关系
|
5
idealhs 2021-03-04 15:29:05 +08:00
初学建议多用 debug 看看变量是怎么变化的
|
7
justrand OP ~~~js
for (var i = 0; i < 3; i++) { console.log(i); var i = 2; console.log(i); } console.log(i); 0 2 3 |