初学者的javascript循环差异

标签 javascript loops for-loop while-loop

我想知道为什么看似相同的循环会导致不同的结果。

第一次循环

 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/

相关文章:

javascript - 需要外部模块作为 ES6 类实例变量

javascript - 在 Nest.js 中模拟 bcrypt 模块

javascript - 如何根据 HTML 中的用户输入在表中添加新行

javascript - Node.js - 在继续代码之前等待多个异步调用完成

java - 在 Scala 中获取 Json 值 scala.util.parsing.json.JSON

java - 泛型 - 迭代 ArrayList 时出现 ClassCastException

javascript - RegexPal 与浏览器不同

javascript - 避免计算代码中的注释

c++ - 为什么变量声明和for循环的条件一样好用?

vba - 在简单的循环中错过一些东西