7

我的问题与 JS 引擎如何实现异步事件模式有关,当我们在 dom 上执行诸如绑定事件处理程序之类的操作时,比如说单击事件?

他们是否有一个单独的线程来监听所有的点击事件?当事件确实发生时,他们是否引用绑定列表并将事件冒泡?

与 Ajax 类似,异步网络调用,浏览器跨越一个新线程,该线程将开始监听来自服务器的数据,当收到响应时,它会调用成功处理程序?

4

1 回答 1

7

阅读这篇关于 javascript 事件队列的帖子,看看它是否回答了您的大部分问题。将有一个本地 OS 线程处理与实际 OS 事件(鼠标事件、键盘事件、计时器事件、网络 I/O 事件等)的接口,然后将这些事件馈送到 JS 队列中,JS 引擎可以在其中进一步将它们发送到 Javascript 代码。操作系统级别有多少单独的线程是特定于实现的,并且可能会随实现而变化。

于 2011-11-01T20:18:26.943 回答