JavaScript 带有 if-else if-else 和计数器的 While 循环

JavaScript While Loop with if-else if-else and counter

我是 JavaScript 的新手。我正在学习一些教程并尝试制作一个打印 10 到 120 的倍数的代码。它不应该打印 100,并且由于某种原因在 120.But 之后显示一条消息,它不起作用。在 运行 代码中,页面上没有显示任何内容,甚至没有显示其他文本。请帮忙!

var z = 10;
while (z<150){
    if (z==100){
        document.write("Cannot print 100!");
        continue;
    }
    else if (z==130){
        document.write("Cannot print after 120!");
        break;
    }
    document.write(z+"<br>");
    z+=10;
}

因为迭代器不会超出 while 循环中条件所说的 90。使条件 z<=120.

或者

while(z <= 120) {
  if (z==100) {
    // cant print 100 z = z + 10;
    continue;
  }
  // print z
  z = z + 10;
}
for(var i=10;i<=120;i+=10){
   if(i===100){
        continue;
   }
   document.write(i+'\n');
}

or with while loop
var j=10;
while(j<=120){
     if(j===100){
         j+=10;
         continue;
     }
     document.write(j+'\n');
     j+=10;
}

1) 您应该确保声明变量 (var z = 0;) 否则您将遇到 "undefined variable" 错误。

2) while循环条件错误,因为你的循环永远不会用z < 100打印110和120。您可以设置 while(z < 130)while(true).

3) 我还建议您将中断条件从 z == 130 更改为 z >= 130,这样您就不会在决定更改计数器增量时进入无限循环。

4) 最后,while 循环中的一个常见错误是将计数器增量放在错误的行中。在这种情况下,当 z 达到 100 时,它将永远不会继续。

var z = 0;
while (z < 130){
    z+=10;

    if (z==100){
        console.log("Cannot print 100!");
        continue;
    }
    else if (z>=130){
        console.log("Cannot print after 120!");
        break;
    }
    console.log(z);
}