为了账号安全,请及时绑定邮箱和手机立即绑定

javascript node.js 在这种情况下如何避免 While(true)?

javascript node.js 在这种情况下如何避免 While(true)?

温温酱 2021-12-12 10:40:29
我读过使用“while(true)”是一个很大的禁忌,建议使用“while(condition)”或“do...while(condition)”(1)。你能告诉我怎么做吗?while (true){get some data;if(condition based on data above), do something;else(break);} //repeat until break reached我可以使用 'do...while'(见下文),但它重复了 'if' 条件,所以这似乎不是最好的选择 -do{get some data; //must happen first to get info to create conditionif(condition based on data above), do something;} while(condition based on data above);
查看完整描述

3 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

使用while(true)没有问题。你读到的“不”是因为它是一个可能导致无限循环的潜在问题。

因此,在这种情况下,如果在此之前没有任何反应,您可以使用计数器来中断循环。例如,max_attempt = 100。


查看完整回答
反对 回复 2021-12-12
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

可以像这样更简单,举个例子:


var x = 0;

console.log("Entering loop");

while(true){

    // always make sure to update something in your condition

    // so you dont fall into an infinite loop

    x++;

    console.log(x); // mostly demostrative

    if(x===3) break; // condition to determine when should the loop stop

}

console.log("Out of the loop");


查看完整回答
反对 回复 2021-12-12
?
富国沪深

TA贡献1790条经验 获得超9个赞

为什么不这样做:


for(get some data; condition based on data above; get some data;) {

    do something;

例如:


for(var i = Math.random(); i < .8; i = Math.random()) {

    console.log(i);

}


查看完整回答
反对 回复 2021-12-12
  • 3 回答
  • 0 关注
  • 271 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号