JavaScript 中的 setInterval 和 clearInterval 作为单线程语言
setInterval and clearInterval in JavaScript as a single thread language
我无法理解 setInterval
和 clearInterval
在 JavaScript 中的工作方式。
我已经阅读了关于这两个函数的不同文章,但我仍然感到困惑。
鉴于 JavaScript 是 single thread
那么当我们调用 test=setInterval(function(){}, t)
时,我们将安排我们的函数每 t
毫秒执行一次。除非我们clearInterval(test)
。
- 这是什么意思?这是否意味着
clearInterval
我们 cancle
已经在 JavaScript 队列中的 setInterval
?
- 如果我们
setInterval
几次但只 clearInterval
一次会怎样?
- 我们可以
clearInterval
在 setInterval
吗?
- 如何JavaScript处理预定进程?
每个 setInterval
调用 returns 一个唯一值,当传递到 clearInterval
时停止返回该值的 setInterval
的特定调用。
因此,在您的示例中,调用 setInterval
时返回的 test
将不同于另一个 setInterval
或 setTimeout
调用返回的值。因此,在执行 clearInterval(test);
时,只有返回 test
的调用会在 运行 间隔停止。
What does that mean? Does it mean that by clearInterval we cancle the
setInterval which is already in the queue of JavaScript?
是的。
What would happen if we setInterval several times but clearInterval
only once?
每个 setInterval
returns 一个句柄,您可以将其与 clearInterval
一起使用以停止该特定计时器。每个计时器都是单独处理的。
Can we clearInterval in setInterval?
是的。
How JavaScript handles the scheduled process?
与任何其他事件非常相似。每隔一定时间触发一个事件,事件处理程序调用您指定的回调函数。如果某个脚本在事件触发时是运行,那么当控件返回给浏览器时会处理该事件。
我无法理解 setInterval
和 clearInterval
在 JavaScript 中的工作方式。
我已经阅读了关于这两个函数的不同文章,但我仍然感到困惑。
鉴于 JavaScript 是 single thread
那么当我们调用 test=setInterval(function(){}, t)
时,我们将安排我们的函数每 t
毫秒执行一次。除非我们clearInterval(test)
。
- 这是什么意思?这是否意味着
clearInterval
我们cancle
已经在 JavaScript 队列中的setInterval
? - 如果我们
setInterval
几次但只clearInterval
一次会怎样? - 我们可以
clearInterval
在setInterval
吗? - 如何JavaScript处理预定进程?
每个 setInterval
调用 returns 一个唯一值,当传递到 clearInterval
时停止返回该值的 setInterval
的特定调用。
因此,在您的示例中,调用 setInterval
时返回的 test
将不同于另一个 setInterval
或 setTimeout
调用返回的值。因此,在执行 clearInterval(test);
时,只有返回 test
的调用会在 运行 间隔停止。
What does that mean? Does it mean that by clearInterval we cancle the setInterval which is already in the queue of JavaScript?
是的。
What would happen if we setInterval several times but clearInterval only once?
每个 setInterval
returns 一个句柄,您可以将其与 clearInterval
一起使用以停止该特定计时器。每个计时器都是单独处理的。
Can we clearInterval in setInterval?
是的。
How JavaScript handles the scheduled process?
与任何其他事件非常相似。每隔一定时间触发一个事件,事件处理程序调用您指定的回调函数。如果某个脚本在事件触发时是运行,那么当控件返回给浏览器时会处理该事件。