JavaScript 中事件处理和计时器服务的优先级是什么?



我试图理解Javascript的执行优先级。我有一个代码,计时器在 15 秒后运行以回调函数。但是,事件可能会在此之前发生,并且可能会调用偶数处理程序函数。

  1. 如果在为事件提供服务时计时器关闭,会发生什么情况?
  2. JS是否中断事件并为计时器提供服务并返回到事件?来自 ejohn关于 JavaScript Timer 如何工作的博客,这可能不是发生的事情。
  3. 如果计时器在服务偶数时关闭并且事件处理程序执行clearTimeout(theTimerThatJustWentOff),会发生什么情况?定时服务例程是否会在退出事件处理程序后运行?
  4. 这些行为在不同浏览器之间会有多大差异?

我不是在问在两个异步事件的竞争条件下会发生什么。就我而言,一个已经发生并正在维修,而第二个发生了。

Javascript 运行单线程。这应该可以回答你的问题。所以

  1. 计时器在运行时不会关闭。当您的函数完成或生成时(例如,通过使用 setTimeout 执行延续(,您的触发器将再次运行。
  2. 不。
  3. 否 - 见 1。
  4. 应该不会改变。

相关内容

  • 没有找到相关文章

最新更新