事件循环

JavaScript的一大特点是单线程

同步

严格按照顺序从前往后执行任务

异步

执行一个任务的同时执行下一个任务

JavaScript执行机制(事件循环 event loop)

同步任务

所有的同步任务都在主线程上执行,形成一个执行栈

异步任务(事件,资源加载,定时器)

全部添加到**任务队列(也称消息队列)**中

JavaScript运行时:

  1. 先执行所有执行栈中的同步任务,异步任务放入任务队列中
  2. 同步任务执行完毕后读取任务队列中的异步任务,异步任务结束等待状态,开始执行