【问题标题】:JavaScript While Loop with if-else if-else and counter带有 if-else if-else 和计数器的 JavaScript While 循环
【发布时间】:2017-06-10 10:44:34
【问题描述】:

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

【问题讨论】:

  • 您可能应该以var z = 0 开头,并且因为您有一个break 语句,您可以将您的while 子句更改为while (true)
  • 调试你的代码。逐行浏览。
  • @Luka,仍然没有帮助。

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


【解决方案1】:

1) 应确保声明变量 (var z = 0;) 否则会遇到“未定义变量”错误。

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

3) 我还建议您将中断条件从 z == 130 更改为 z &gt;= 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);
}

【讨论】:

  • 对不起兄弟!问题出在柜台上。我所要做的就是将z+=10 放在if(z==100){} 之后
  • 很高兴你解决了:) 在while 之后放置z+=10 条件可以避免多余的行代码。
【解决方案2】:

因为迭代器不会像 while 循环中的条件所说的那样超过 90。使条件为 z

或者

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

【讨论】:

  • 没有输出怎么解释?
  • 谢谢你!将z+=10 放在if(z==100){} 之后确实有帮助!
  • @MrigankPawagi 请接受此作为答案,而不是将标题更改为已解决
【解决方案3】:
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;
}

【讨论】:

  • 欢迎来到 SO:请使用 tour 并阅读 how-to-answer。提供上下文和描述可以让您的答案对更广泛的受众更有用。
猜你喜欢
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 2012-06-18
  • 2015-11-08
  • 1970-01-01
  • 2012-03-12
  • 1970-01-01
  • 2018-03-21
相关资源
最近更新 更多