我有以下javascript:
var i = 0;
var intervalCounter = setInterval(function(){
[... CODE HERE ...]
if (i >= (arrayLength - 1)) {
clearInterval(intervalCounter);
}
else {
i++;
}
}, 200);
但是,(您猜对了)
clearInterval(intervalCounter);
不能清除间隔。如果
if
条件是if (i === (arrayLength - 1))
但是javascript引擎又怎么会反复错过
i
大于(arrayLength-1)
? 最佳答案
以下代码正确运行,在控制台上显示0到9:
var a = Array (10),
i = 0,
intervalCounter = setInterval(function(){
console.log (i);
if (i >= (a.length - 1)) {
clearInterval(intervalCounter);
}
else {
i++;
}
}, 200);
您的问题必须是
i
或arrayLength
的值,请尝试在每次迭代时显示这些变量