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

我读过使用“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 condition

if(condition based on data above), do something;

} while(condition based on data above);


温温酱
浏览 272回答 3
3回答

一只甜甜圈

使用while(true)没有问题。你读到的“不”是因为它是一个可能导致无限循环的潜在问题。因此,在这种情况下,如果在此之前没有任何反应,您可以使用计数器来中断循环。例如,max_attempt = 100。

慕丝7291255

可以像这样更简单,举个例子: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");

富国沪深

为什么不这样做:for(get some data; condition based on data above; get some data;) {&nbsp; &nbsp; do something;}&nbsp;例如:for(var i = Math.random(); i < .8; i = Math.random()) {&nbsp; &nbsp; console.log(i);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript