JavaScript中setInterval关闭问题

这篇博客主要记录下学习中碰到的一些问题(以防忘记)。

JavaScript中,在setInterval中关闭该定时器,但是此次执行也会完成,用语言描述不太容易,直接看代码:

var i=1;
var timer=setInterval(function(){        
    if(i===10)
    {
        console.log("关闭定时器");
        clearInterval(timer);
    }
    console.log("第"+i+"次调用");
    i++;            
},1000);

如果是执行到 clearInterval(timer) 这里直接关闭该定时器的话,那么这段代码则不会输出“第10次调用”,让我们看一下执行结果:

JavaScript中setInterval关闭问题

很明显,和预期的想法不太一样,关闭定时器之后,还是输出了“第10次调用”。

这表明在JavaScript中,关闭setInterval定时器是在此次调用执行完毕之后再将其关闭。

相关推荐