JS中宏任务、微任务和事件循环有何区别?

2026-04-27 16:410阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

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

JS中宏任务、微任务和事件循环有何区别?

目录+前言+宏任务+宏任务队列+微任务+微任务队列+Event Loop+执行顺序+结语+前言+首先,我们要理解JavaScript是一个单线程的脚本语言,也就是说,我们在执行代码的过程中不会出现同时执行多个任务的情况。

目录
  • 前言
  • 宏任务
  • 宏任务队列
  • 微任务
  • 微任务队列
  • Event-Loop
  • 执行顺序
  • 结语

前言

首先我们要了解javascript是一个单线程的脚本语言,也就是说我们在执行代码的过程中不会出现同时进行两个进程(执行两段代码)。

Javascript语言将任务的执行模式分成两种:同步(Synchronous)和异步(Asynchronous)。

同步:一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去。

异步:进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。

进程:狭义上,就是正在运行的程序的实例。广义上,进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。描述的是CPU在运行指令及加载和保存上下文所需要的时间。

线程:是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位。指运行中的程序的调度单位。

执行栈:V8(谷歌浏览器引擎)内部维护出来的一个用来存放函数的执行上下文环境的一个栈结构。

阅读全文

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

JS中宏任务、微任务和事件循环有何区别?

目录+前言+宏任务+宏任务队列+微任务+微任务队列+Event Loop+执行顺序+结语+前言+首先,我们要理解JavaScript是一个单线程的脚本语言,也就是说,我们在执行代码的过程中不会出现同时执行多个任务的情况。

目录
  • 前言
  • 宏任务
  • 宏任务队列
  • 微任务
  • 微任务队列
  • Event-Loop
  • 执行顺序
  • 结语

前言

首先我们要了解javascript是一个单线程的脚本语言,也就是说我们在执行代码的过程中不会出现同时进行两个进程(执行两段代码)。

Javascript语言将任务的执行模式分成两种:同步(Synchronous)和异步(Asynchronous)。

同步:一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去。

异步:进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。

进程:狭义上,就是正在运行的程序的实例。广义上,进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。描述的是CPU在运行指令及加载和保存上下文所需要的时间。

线程:是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位。指运行中的程序的调度单位。

执行栈:V8(谷歌浏览器引擎)内部维护出来的一个用来存放函数的执行上下文环境的一个栈结构。

阅读全文