【发布时间】:2014-04-09 19:30:53
【问题描述】:
如何在满足特定条件时暂停循环?在下面的示例中,循环仅一次显示所有值,而我希望它在遇到特定值(例如 2)时停止:
a = [1,1,1,2,1,1,1,3,4,2,1]
for (var i = 0; i < a.length; i++) {
if(a[i] == 2){
setTimeout(console.log(a[i]), 1000)
}else{
console.log(a[i]);
}
};
【问题讨论】:
-
javascript 没有
pause功能,您需要重构代码以使用 setTimeout 和设置变量来标记何时暂停和何时继续等。 -
在重构中,您可能希望将
i限定在 函数 之上,以便在多个调用之间共享它 -
触发
debugger;?你想通过暂停来达到什么目的?不同的目标需要不同的方法。 -
setTimeout的参数是要调用的函数或要计算的字符串。将console.log放在那里会立即调用它,而不是在超时之后。 -
这里有一个选项可以自定义“暂停”的时间和数量:jsfiddle.net/R4jeL
标签: javascript for-loop conditional