我想知道为什么看似相同的循环会导致不同的结果。
第一次循环
for (var i = 0; i < 5; i++) {
console.log(i);
}
结果:
0
1
2
3
4
结果是完全可以理解和预期的行为。
但是,下面的循环
var i=0;
while ( i<5) {
console.log(i);
i++;
}
导致不同的结果,这样
0
1
2
3
4
4
作为编程的初学者,我真的不明白为什么会这样,这种情况下差异的根源是什么。
最佳答案
如果你改成
var i=0;
while ( i<5) {
console.log("i is " + i);
i++;
}
然后您会在控制台中看到它确实输出了正确的值“i is 0”, 1,2,3,4。控制台还会输出最后一个评估语句的值,这就是为什么您会看到额外的 4。
如果我在 Google Chrome 中运行 for
示例,它会打印一个额外的 undefined
,因为它输出最后一个评估语句的值,即 console.log。
关于初学者的javascript循环差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17905987/