javascript 执行顺序

it2025-07-11  6

javascript 执行顺序

1.同步的任务没有优先级之分,异步的有,先执行微任务,再执行宏任务。

一、javascript是一门单线程语言

既然js是一门单线程语言,js任务也要一个一个顺序执行,如果一个任务耗时过长,其它任务也必须等着。问题来了,如果再浏览网页的时候加载的超清图片加载的很慢,那岂不是网页一直要卡到图片加载完?所以就出现了同步任务和异步任务。

二、同步和异步

当我们打开网站时,网页渲染的过程就是一大堆同步任务,但是在加载视频或者其它大型的资源时就是用的异步加载。

用图来说明:

文字概况:

1、同步和异步的任务进入不同的场所。

2、当指定的事情完成时,event Table 的函数任务就会进入Event Queue。

3、主线程内的任务执行完毕为空就会调用Event Queue里面的函数。

4、上述过程会不断循环执行,这就是事件循环。

我们不禁要问了,那怎么知道主线程执行栈为空啊?

JS引擎中存在monitoring process进程,它会持续不断的检查主线程执行栈是否为空,一旦为空,就会去Event Queue那里检查是否有等待被调用的函数。

最新回复(0)