[TOC]1、为什么会有浏览器事件循环 Event Loop JS 引擎单线程执行,遇到阻塞代码不能等着,需要继续往后执行主代码,所以这种情况下,就需要将阻塞代码抛入任务队列(Task Queue),而事件循环的作用,在这个时候发挥作用,执行完主代码,再去任务队列执行阻塞代码,这样一个过程称为任务循环。 1、宏任务和微任务 事件循环中有两个任务类型,如下: 宏任务: