我想了解 Javascript 的执行优先级。我有一个代码,其中计时器运行以在 15 秒后回调函数。但是,事件可能恰好在此之前发生并且事件处理函数可能被调用。
- 如果在为事件提供服务时计时器关闭,会发生什么情况?
- JS 是否中断事件并为计时器服务并返回事件? From ejohn's blog on How JavaScript Timer Work ,这可能不会发生。
- 如果定时器在 even 被服务且事件处理程序执行
clearTimeout(theTimerThatJustWentOff)
时关闭,会发生什么情况?退出事件处理程序后,计时器服务例程是否会运行? - 这些行为在不同浏览器中会有多大差异?
我不是在问在两个异步事件的竞争条件下会发生什么。在我的例子中,一个已经发生并且正在接受服务,而第二个发生。
最佳答案
Javascript 运行单线程。那应该回答你的问题。所以
- 计时器在运行时不会响起。当您的函数完成或当它产生时(例如通过使用 setTimeout 继续执行)您的触发器将再次运行。
- 没有。
- 没有。 - 见 1。
- 不应有变化。
关于javascript - JavaScript 中事件处理和定时器服务的优先级是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19335590/