【WEB前端-面试】JS 同步异步、宏任务/微任务、事件循环

本文详细介绍了JavaScript中的同步与异步执行机制,包括同步任务和异步任务的区别,以及宏任务和微任务在事件循环中的执行顺序。重点阐述了微任务在宏任务之前执行的原理,并提供了相关资源链接加深理解。
摘要由CSDN通过智能技术生成

同步 异步

JS是单线程,同步只能将任务按照顺序执行,也就是说只有上一个任务执行完后才能执行下一个,这种方式会阻塞其他任务。异步可以解决这个问题。
同步任务:所有同步任务都在主线程执行,形成一个执行栈。
异步任务:不进入主线程,而进入任务队列,只有任务队列通知主线程,当前异步任务完成了,才会进入执行栈中执行。
异步:同一时间可以做多个事情,执行效率高,但是会占用更多资源,不利于我们对进程进行控制。

理解js单线程和异步,这一篇就够了https://blog.csdn.net/gitchatxiaomi/article/details/108054585

图源:https://blog.csdn.net/qq_21033663/article/details/51564786
在这里插入图片描述

宏任务 微任务

异步任务的执行有优先级的顺序,包括了宏任务和微任务。
同步 -> 异步(微任务) -> 异步(宏任务)
每次执行完所有的同步任务后,会在任务队列中取出异步任务,先将所有微任务执行完成后,才会执行宏任务。所以可以得出结论,微任务会在宏任务之前执行。

参考:https://blog.csdn.net/weixin_521

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值