1

我在理解JavaScript中的工作方式setInterval和工作方式时遇到了问题。clearInterval

我已经阅读了关于这两个功能的不同文章,但我仍然感到困惑。

鉴于 JavaScriptsingle thread在我们调用时,test=setInterval(function(){}, t)我们将安排我们的函数每t毫秒执行一次。除非我们clearInterval(test)

  • 这意味着什么?这是否意味着clearInterval我们已经在 J​​avaScript 队列中canclesetInterval
  • 如果我们setInterval多次但clearInterval只有一次会发生什么?
  • 我们可以clearInterval进去setInterval吗?
  • JavaScript 如何处理预定的进程?
4

2 回答 2

2

这意味着什么?这是否意味着通过 clearInterval 我们可以取消已经在 J​​avaScript 队列中的 setInterval?

是的。

如果我们 setInterval 多次但 clearInterval 只一次会发生什么?

每个都setInterval返回一个句柄,您可以使用它clearInterval来停止该特定计时器。每个计时器都是单独处理的。

我们可以在 setInterval 中清除Interval 吗?

是的。

JavaScript 如何处理预定的进程?

几乎就像任何其他事件一样。每隔一段时间触发一个事件,事件处理程序会调用您指定的回调函数。如果触发事件时某个脚本正在运行,那么当控件返回给浏览器时将处理该事件。

于 2015-04-13T18:37:40.247 回答
1

每个setInterval调用都返回一个唯一值,当传入该值时会clearInterval停止setInterval返回该值的特定调用。

因此,在您的示例中,test调用时setInterval返回的值将不同于从另一个setIntervalsetTimeout调用返回的值。因此,当clearInterval(test);只执行返回的调用时,test将停止运行间隔。

于 2015-04-13T18:34:11.087 回答