关于JavaScript中的事件流

前言

JavaScript 是一门单线程语言,为了防止主线程阻塞,就产生了所谓的同步任务异步任务.简单的来说不耗时的程序语句就是同步任务,反之耗时的则是异步任务.为了有机协调同步任务和异步任务的执行顺序,所以出现了事件循环的概念.

任务队列

其实在 JavaScript 中 为优化防止主线程阻塞,把所有的任务分为同步任务异步任务,在这其中,异步任务又分为宏任务微任务,那这个有什么用呢?其实在这其中,JavaScript 的代码就可以有序的进行执行。接下来,让我们看看执行图:

通过上图:我们可以清晰的看到代码在执行顺序是怎么样的,其实 JavaScript 的代码执行顺序可以总结为八个字 “ 先同后异,先微后宏 ” 。

什么是宏任务?

宏任务:包含执行整体的js代码、事件回调(DOM事件),定时器,延时器等。

什么是微任务?

微任务:更新应用程序状态的任务,包括Promise.[then/catch/finally]回调,async/await等。


 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值