是否有可能做到这样的事情,并在满足条件后结束看似无限的循环?当我尝试它时,它会崩溃我的浏览器应该是无限循环。还有其他方法可以做到这一点还是不可能?
var nL=true;
while(nL){
if(/* Condition */){
nL=true;
break;
}
}
答案 0 :(得分:4)
如果/* Condition */
永远为真,那么循环将结束 - 因为break
将结束循环,而不管nL
设置为什么。
因此问题是/* Condition */
永远不会成真。
现在,正如Matt Greer指出的那样,如果目标 无限循环(或循环很长时间),则必须以小批量完成(例如使用{{ 1}})或关闭当前的全局上下文(例如使用Web Workers),以便浏览器不会冻结。
答案 1 :(得分:1)
var nL=true;
while(nL){
if(/* Condition */){
nL=false; // Set to false to exit loop
break; // Don't need this, if you set nL to false.
}
}