惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
小众软件
小众软件
Last Week in AI
Last Week in AI
月光博客
月光博客
博客园 - 聂微东
Recent Announcements
Recent Announcements
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
博客园 - Franky
云风的 BLOG
云风的 BLOG
量子位
N
Netflix TechBlog - Medium
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
博客园 - 司徒正美
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
Google DeepMind News
Google DeepMind News
宝玉的分享
宝玉的分享

JavaScript

智能香氛机小程序外包合作招募 分享一道 Node.js 的面试题,考察 JS 相关的最基本的掌握程度,代码完全来自官方文档 你们 js 用过双等号吗 有人大量建立技术文档的.cn 中文站点,并将站内 js 链接指向 cdn.jsdelivr.net.cn 发现了两个关于 JavaScript 语言好玩的网站,让人血压升高 js 判空值 最佳实践 简单的图像算法为什么 AI 搞不定呢 Capacitor.JS 如何自动化最后一步流程 JSON.parse 转数字精度丢失问题 有没有前端大佬,帮我看一下这个网站底部的粒子动画怎么做的。 这段前端代码存在并发读取竞态的问题吗? nstr - number → string, but looks good 前端 js 播放 base64 编码的 mp3,放出来杂音很大,请教是哪里出错了? 熟悉工业计算的来,是阀门相关的企业 js 不使用 promise 完成一个 sleep 函数,必须支持 await 调用 小米手机澎湃系统 AutoJS 的悬浮窗在证券软件打开时就消失 关于 js 复制粘贴问题 求助,无法在 wixsite.com 上使用 document.write threejs 官方文档看着好难受。 有没有 AI 能一步一步教会伸手党如何使用业务系统? 也聊下自己最近用 copilot 写程序的心得,还要讨教下方案 javascript 继续 套壳 AI 应用类 manus 如何在移动端 h5 页面实现<Select/>搜索下拉选择框! 求前端高频数据绘图库 吐槽一下 Trae 记忆中好像在论坛看到有款专门在 iframe 中做前端的 js 库/框架? JavaScript 中的 Promise 跟异步有关系吗?还是我的理解有问题?谁能把 Promise 解释清楚? Promise 的正确用法应该是什么样的? 求问,小程序的菜单栏怎么和右边的功能键垂直居中? 自习室小程序的座位图是如何实现的(前端) 谷歌浏览器的 bug
发现国内很多文章对宏任务和微任务的解释都是有问题的
moyuman · 2026-07-09 · via JavaScript

第一个澄清:任务 vs 宏任务

最近在看面试题,到了这个经典的宏任务和微任务的题目,顺手去 MDN 查了查

发现个很奇怪的问题:MDN 通篇都没有“宏任务”这个词。

深入:微任务与 Javascript 运行时环境 中用的词是“任务 vs 微任务”

于是 Google 了一下“宏任务”这个词,发现中文社区中比较权威的出处应该是这篇 事件循环:微任务和宏任务,这里标注说

“多个任务组成了一个队列,即所谓的“宏任务队列”( v8 术语)”

但我搜索了

都没有找到类似 macrotask 的表述

所以这个“宏任务”的说法是哪来的?用 ai deepresearch 了一下,找到的出处为:

所以“宏任务”的说法,本身只是社区中为了区分与“微任务”产生的。

那么 MDN 中的 “任务” 其实就是我们说的 “宏任务” 了

第二个澄清:同步/异步任务 vs 宏/微任务

很多文章做了类似这样的分类:

JS 代码分两种:同步任务和异步任务,异步任务又分为宏任务和微任务

这其实是把同步/异步任务和宏/微任务,混淆了

MDN 和 Html 规范中关于事件循环的章节,是找不到这种分类的依据的,或者说,根本就没有同步任务和异步任务的概念。

发明“宏任务”这个词是为了区分 task 和 microtask 的话,还可以理解

但把“同步任务”和“异步任务”用在理解事件循环这个概念时,就不太合适了,只会让人越来越乱

事件循环是 JS 能实现同步/异步编程的底层原理,在事件循环这一层只分 task 和 microtask

而“同步”和“异步”则是编程和语言层面的东西,是另一个维度了,完全不该被用在解释“何为事件循环”这件事上