【问题标题】:How do I stop an infinite prompt loop without using Break?如何在不使用 Break 的情况下停止无限提示循环?
【发布时间】:2015-12-06 06:32:28
【问题描述】:

我创建了一个带有prompt 的无限循环,以便将城市名称插入array,只要您愿意,但是我想在用户点击@987654323 中的取消时停止这个无限循环@ 不使用break

<script>
    var cities = new Array(); 
    var i=0; 

while(i >= 0){ 
    i++; 
    cities[i] = prompt("Type a City");
    if (cities[i] == null) break; 
document.write("<tr> <td>" + i + "</td> <td>" + cities[i] + "</td> </tr>")  
</script>    

之后

if (cities[i] == null) 中断;

除了break,我还能添加什么?

谢谢

【问题讨论】:

  • break 有什么问题?如果您想一直运行到用户完成,这正是它的用途。顺便说一句,您正在跳过索引 0。
  • 将其包装在一个函数中并使用return 语句。但正如@Kristján 提到的 - break 非常好。
  • @Kristján 我的一些老师说他们不会接受break 声明,所以我想要另一种方法来停止循环。我没有注意到我跳过了 0,感谢您指出这一点。
  • 告诉你的老师,互联网上说武断、荒谬的规则是有害的。另一方面,尽量不要使用goto

标签: javascript while-loop break


【解决方案1】:

只需将 i 设置为 -1 而不是 break

下面是代码:

var cities = new Array(); 
var i=0; 

while(i >= 0){ 
    i++; 
    cities[i] = prompt("Type a City");
    if (cities[i] == null) {
       i = -1; 
    } else {
       document.write("<tr> <td>" + i + "</td> <td>" + cities[i] + "</td> </tr>");
    }
} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多