JavaScript事件循环学习笔记(宏队列、微队列)

1、JS用来存储待执行的回调函数的队列包含2个不同特定的队列

  • 宏队列
    用来保存待执行的宏任务,例如:dom事件回调、ajax回调、定时器回调
  • 微队列
    用来保存待执行的微任务,例如:promis回调、mutation回调(改变观察者)

2、JS执行时会区别这两个队列

  • JS引擎首先必须执行所有的初始化同步代码
  • 每次准备取出第一个宏任务执行前,都要将所有的微任务一个一个取出来执行(包含在宏任务中的微任务:在执行到宏任务时先将其中的微任务添加到微任务队列,在执行下一个宏任务时先将这个添加的微任务执行完成,再执行宏任务)

总结:js代码执行顺序,先将所有的同步任务完成,完成后执行添加到异步队列中的异步任务。如果存在微任务的话执行所有的微任务,等待所有的微任务执行完成,再去执行异步队列中的宏任务在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值