【发布时间】:2014-10-23 16:10:13
【问题描述】:
我在这个问题上花了很多时间,最后我可以在 jsfiddle 中以易于阅读的代码展示它:http://jsfiddle.net/Lb0g25ae/
function test(i) {
return function() {
console.log(i);
//I need to increase valid here because this is where the script will choose wheter to increase or not (continue looping) valid depending on some conditions
}
}
var valid = 0;
while (valid < 5) {
setTimeout(test(valid), 1000*valid);
valid++;
}
我需要它
function test(i) {
return function() {
console.log(i);
valid++;
}
}
var valid = 0;
while (valid < 5) {
setTimeout(test(valid), 1000*valid);
}
但是这样循环不会停止,因为 valid 没有增加,这将产生无限循环和崩溃。有人能指出我正确的方向吗?
【问题讨论】:
标签: javascript function while-loop settimeout