下图是浏览器运行机制
有几个疑问,还请指教:
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 不成立,这里的 dom 的意思是
DOM 本身不属于 js,是浏览器提供的一个接口,在这个接口你可以做很多事情,但是如果你监听了事件,事件触发的时候,需要执行回调,那这个回调怎么执行?
会被插入到任务队列里,等待执行。但是这个任务队列和 setTimeout 所处于的任务队列,应该不是同一个,而且也不一定是异步的,实际上大多数事件回调都是同步的,但是他们都在任务队列里,只不过任务队列可能有一个或多个,并且不同队列的优先级也不一样。
视频来源:https://www.youtube.com/watch...
最近的一个:https://www.youtube.com/watch...