JavaScript中宏任务与微任务执行顺序是怎样的?

更新于
2026-09-26 13:30:33
0阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1765个文字,预计阅读时间需要8分钟。

JavaScript中宏任务与微任务执行顺序是怎样的?

目录

一、JavaScript单线程

1.同步任务(synchronous task)

2.异步任务(asynchronous task)

二、任务队列(task queue)

1.执行栈(execution stack)

2.扩展:setTimeout的理解

一、JavaScript单线程

JavaScript是单线程执行的,意味着在同一时间点,JavaScript引擎只会执行一个任务。

1. 同步任务(synchronous task)同步任务指的是,在主线程上顺序执行的任务,这些任务会按照代码的顺序依次执行。

2. 异步任务(asynchronous task)异步任务指的是,不会阻塞主线程执行的代码,它们会通过事件循环机制,在合适的时机执行。

二、任务队列(task queue)当异步任务完成时,它们会被放入任务队列中等待执行。

1. 执行栈(execution stack)执行栈是存储所有待执行任务的栈,每次执行栈的顶部任务完成后,下一个任务才会被推入栈中。

2. 扩展:setTimeout的理解setTimeout函数允许我们设置一个延迟执行的函数,它将任务放入任务队列,而不是立即执行。当主线程空闲时,JavaScript引擎会从任务队列中取出任务执行。

阅读全文

本文共计1765个文字,预计阅读时间需要8分钟。

JavaScript中宏任务与微任务执行顺序是怎样的?

目录

一、JavaScript单线程

1.同步任务(synchronous task)

2.异步任务(asynchronous task)

二、任务队列(task queue)

1.执行栈(execution stack)

2.扩展:setTimeout的理解

一、JavaScript单线程

JavaScript是单线程执行的,意味着在同一时间点,JavaScript引擎只会执行一个任务。

1. 同步任务(synchronous task)同步任务指的是,在主线程上顺序执行的任务,这些任务会按照代码的顺序依次执行。

2. 异步任务(asynchronous task)异步任务指的是,不会阻塞主线程执行的代码,它们会通过事件循环机制,在合适的时机执行。

二、任务队列(task queue)当异步任务完成时,它们会被放入任务队列中等待执行。

1. 执行栈(execution stack)执行栈是存储所有待执行任务的栈,每次执行栈的顶部任务完成后,下一个任务才会被推入栈中。

2. 扩展:setTimeout的理解setTimeout函数允许我们设置一个延迟执行的函数,它将任务放入任务队列,而不是立即执行。当主线程空闲时,JavaScript引擎会从任务队列中取出任务执行。

阅读全文