我的问题与 JS 引擎如何实现异步事件模式有关,当我们在 dom 上执行诸如绑定(bind)事件处理程序之类的操作时,比如说单击事件?
他们是否有一个单独的线程来监听所有的点击事件?当事件确实发生时,他们是否引用绑定(bind)列表并将事件冒泡?
与 Ajax 类似,异步网络调用,浏览器跨越一个新线程,该线程将开始监听来自服务器的数据,当收到响应时,它会调用成功处理程序?

请您参考如下方法:

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


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!