JavaScript while While with if-else if-else和counter

时间:2017-06-10 10:44:35

标签: javascript loops if-statement while-loop counter

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

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;
}

3 个答案:

答案 0 :(得分:1)

1)你应该确保声明变量(var z = 0;)或者你会遇到一个&#34;未定义的变量&#34;错误。

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

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

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

&#13;
&#13;
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);
}
&#13;
&#13;
&#13;

答案 1 :(得分:0)

因为迭代器不会像在循环中所说的条件那样是90。使条件z <= 120。

或者

while(z <= 120) {
  if (z==100) {
    // cant print 100 z = z + 10;
    continue;
  }
  // print z
  z = z + 10;
}

答案 2 :(得分:0)

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;
}