javaScript是一个单线程语言、所有的任务都在一个线程中完成!一旦遇上大量的任务或者耗时的任务的时候、网页就会呈现卡死的状态、所以为了解决优化这些、我们需要去了解JS事件运行机制!

MacroTask(宏任务)& MicroTask(微任务)

在JS中、任务会被分为两种、一种是MacroTask(宏任务)、另外一种是MicroTask(微任务)、JS中有个main thread主线程和call-stack调用栈、所有任务都会先放到调用栈等待主线程执行!先看看MacroTask和MicroTask有那些!

  1. /* MacroTask */
  2. script
  3. setTimeout
  4. setInterval
  5. postMessage
  6. /* Micro Task */
  7. Process.nextTick(node)
  8. Promise
  9. MutationObserver