我有以下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);


您的问题必须是iarrayLength的值,请尝试在每次迭代时显示这些变量

09-25 21:54