javascript - 我正在尝试使用 Javascript 中的 while 循环打印从 10 到 40 的所有偶数

标签 javascript while-loop

我正在尝试使用 Javascript 中的 while 循环打印从 10 到 40 的所有偶数。但是当我在 Chrome 浏览器控制台中执行代码时,我只看到 10 个。这是我的代码:

var x = 10;

while (x !== 41 && x % 2 == 0){
  console.log(x)
  x++
}

最佳答案

问题是 x % 2 == 0部分。一旦x变成 11循环退出,因为该条件的计算结果为 false .为了继续循环,while() 中的两个条件括号必须计算为 true因为你正在使用 &&运营商。

您应该将该特定条件移动到 if循环内的语句,像这样:

var x = 10;
while (x !== 41) {
  if (x % 2 == 0)
    console.log(x);
  x++;
}

上面的解决方案一直持续到x41在这种情况下,它将退出循环并只运行 console.log(x)语句,如果x % 2等于0 ( x 是偶数)。

我想给你的一个提示是养成使用 === 的习惯。而不是 == .这将确保您的值是正确的类型(例如 x == 2truex"2"x === 2 将返回 false 因为类型不同)并且可能会帮助您发现一些错误调试时。

另一个技巧是使用 x < 41而不是 x !== 41 , 它更常用,对大多数人来说更容易阅读。

关于javascript - 我正在尝试使用 Javascript 中的 while 循环打印从 10 到 40 的所有偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58268976/

相关文章:

c - 覆盖C中的字符串

javascript - 如何在 while 循环中检查事件?

javascript - 分组条形图的排序功能问题

javascript - 为什么Backbone的set方法中有一个while循环?

c++ - 我的 do while 循环只执行一次

c++ - Cin 在一个 while 循环中

php - 如何最好地将 mysql 数据实现到一行 javascript 代码中?

javascript - 如何使用 AWS Cognito 中的现有用户池生成 aws-exports.js?

javascript - 使用跨域站点但相同位置的 JS 文件在子 iFrame 中调用 Javascript 函数

javascript - 带有 Firefox(最新 32 位)浏览器的 Protractor 未加载