JavaScript中宏任务与微任务执行顺序是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1765个文字,预计阅读时间需要8分钟。
目录
一、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单线程
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引擎会从任务队列中取出任务执行。

