记录--Event Loop事件循环、微任务、宏任务

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助

创新互联建站从2013年创立,先为华州等服务建站,华州等地企业,进行企业商务咨询服务。为华州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

前言

JS是一门单线程语言,单线程就意味着,所有的任务需要排队,前一个任务结束,才会执行下一个任务。这样所导致的问题是:如果JS执行的时间过长,这样就会造成页面的渲染不连贯,导致页面渲染加载阻塞的觉。为了解决这个问题,JS中出现了同步和异步。他们的本质区别是:一条流水线上各个流程的执行顺序不同。在讲JS任务执行机制前,先要了解一下什么是同步任务与异步任务。

同步任务:即主线程上的任务,按照顺序由上⾄下依次执⾏,当前⼀个任务执⾏完毕后,才能执⾏下⼀个任务。

异步任务:不进⼊主线程,⽽是进⼊任务队列的任务,执行完毕之后会产生一个回调函数,并且通知主线程。当主线程上的任务执行完后,就会调取最早通知自己的回调函数,使其进入主线程中执行。

1. 事件循环Event Loop概念介绍

  • 事件循环Event Loop又叫事件队列,两者是一个概念

事件循环指的是js代码所在运行环境(浏览器、nodejs)编译器的一种解析执行规则。事件循环不属于js代码本身的范畴,而是属于js编译器的范畴,在js中讨论事件循环是没有意义的。换句话说,js代码可以理解为是一个人在公司中具体做的事情, 而 事件循环 相当于是公司的一种规章制度。 两者不是一个层面的概念。

2. 微任务、宏任务概念介绍

  1. 微任务与宏任务就属于js代码的范畴
  2. js代码主要分为两大类: 同步代码、异步代码
  3. 异步代码又分为:微任务与宏任务

当前标题:记录--Event Loop事件循环、微任务、宏任务
当前URL:http://azwzsj.com/article/dsojpoi.html