关于浏览器运行机制中,所有的dom操作都会进入消息队列吗?

下图是浏览器运行机制

clipboard.png

有几个疑问,还请指教:

1 . DOM(document)指的是所有dom相关api吗?

document.querySelector('#test')

2 . 上面1问题如果成立,那么我查找个dom后它也会进入消息队列(callback queue)吗?

3 . 我理解的callback queue是回调函数队列,比如setTimeout(fn,100)由浏览器执行完成后fn会被放在callback queue中,上面2问题如果成立,document.querySelector('#test')哪有回调函数放到callback queue中?

还请大神解惑,不胜感激~~

阅读 1.7k
1 个回答

1 不成立,这里的 dom 的意思是

DOM 本身不属于 js,是浏览器提供的一个接口,在这个接口你可以做很多事情,但是如果你监听了事件,事件触发的时候,需要执行回调,那这个回调怎么执行?

会被插入到任务队列里,等待执行。但是这个任务队列和 setTimeout 所处于的任务队列,应该不是同一个,而且也不一定是异步的,实际上大多数事件回调都是同步的,但是他们都在任务队列里,只不过任务队列可能有一个或多个,并且不同队列的优先级也不一样。

视频来源:https://www.youtube.com/watch...

最近的一个:https://www.youtube.com/watch...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题