JavaScript clearTimeout似乎有一种奇怪的行为

时间:2016-05-27 14:44:56

标签: javascript

在我的笔记本上读到一个关于JavaScript中atom-browser-webview running elm-reactor方法的上一个问题,我发现了以下问题:

setTimeout()

在IE11,FF46和Chrome51中正常工作,因此间隔停止。

在MDN文档中,setInterval如下所述:

  

清除WindowTimers.setTimeout()设置的延迟。

为什么呢? clearTimeout和clearInterval是否可以互换?

1 个答案:

答案 0 :(得分:0)

clearTimeout和clearInterval不应该是可互换的,因为它们分别是为setTimeout和setInterval设计的。此外,setTimeout和setInterval都做不同的事情:setTimeout告诉一组命令等待执行,只执行一次,而setInterval重复执行,直到时间结束(当然,除非你调用clearInterval)。 clearTimeout将导致setTimeout在超时到期之前触发,而clearInterval将停止setInterval循环。

虽然它可能适用于一个浏览器,但它不能保证适用于所有浏览器实现,因此应该避免使用。

注意

这也在javascript stackoverflow中提到。 Are clearTimeout and clearInterval the same?