Javascript 事件循环机制(理解整理)

62 阅读1分钟

在开始事件循环机制的学习前,我们需要理解几点

  1. Javascript 是一门单线程语言,是按照语句出现的顺序执行的
  2. 所谓异步,其实都是用同步的方法去模拟的
  3. Event Loop是javascript的执行机制

Javascript事件循环

我们都知道Javascript 是一门单线程语言,关于任务的执行,我们在上一个任务执行完毕后才会进行下一个任务的执行,以此类推。如果按照这种情况,假如我们想要浏览一个网页,但是这个网页包含很多加载很慢,高清的图片,难道我们要卡到这些资源加载完毕?所以程序员将任务分为以下两种:

  • 同步任务
    
  • 异步任务
    

我们可以根据下图进行理解:

image.png

除了广义的同步任务和异步任务,我们对任务有更精细的定义:

  • macro-task 宏任务
    包含整体script,setTimeoutsetInterval
    
  • micro-task 微任务
    Promise,process.nextTick