531 字
3 分钟
JavaScript 核心 · 路线总览
NOTE

本系列共 12 篇文章,是我做前端这十年里,反复回看、反复教新人的 JavaScript 核心脉络。不堆 API,只讲”为什么是这样”。


为什么重学 JS#

工作头两年我以为”会写 JS”= 会 $.ajax、会写 for 循环。直到第一次遇到 setTimeout 顺序不对、this 指向莫名、原型链查不到属性——才明白 JS 的”怪”背后都有一套自洽的机制。

本路线就是把这些机制拆开讲透:

JavaScript 核心
├── 语言机制
│ ├── 变量与作用域(提升、TDZ、作用域链)
│ ├── 数据类型与隐式转换
│ ├── 原型与原型链
│ └── 继承的演进
├── 运行时行为
│ ├── 闭包
│ ├── this 的四种绑定
│ ├── 执行上下文与调用栈
│ └── 事件循环与异步
└── 工程化表达
├── 函数式与高阶函数
├── 模块化
└── 错误处理与调试

这十年我踩过最痛的几个点#

  • var 的函数作用域:循环中用 var 声明 i,闭包全拿到最后一个值——新人必踩。
  • == 的隐式转换:[] == false 是 true,[] == ![] 也是 true,面试地狱。
  • this 丢失:回调里 this 指向 undefined(严格模式),排错排到怀疑人生。
  • 事件循环顺序:Promise.then 和 setTimeout 谁先执行,搞错就写出竞态 bug。
  • 循环依赖:CommonJS 和 ESM 表现不同,升级打包器时集体暴雷。

每一篇我都会从一个真实场景/报错切入,再讲底层原理,最后给”以后怎么避”。


怎么读#

  • 前 8 篇是地基,建议按序,每篇代码自己敲一遍(别复制)。
  • 遇到”为什么输出是这样”,用 DevTools 打断点看调用栈,比看十篇博客有用。
  • 后 4 篇偏工程表达,可当工具箱按需查阅。

小结#

JS 不难,难的是它”看似随意、实则严谨”。把作用域、原型、事件循环这三根支柱立住,剩下都是水到渠成。下一篇从最基础的变量与作用域讲起。

JavaScript 核心 · 路线总览
http://117.72.32.87/blog/posts/js-roadmap-00-overview/
作者
Ethan
发布于
2026-09-29
许可协议
CC BY-NC-SA 4.0