JavaScript 核心
从语言机制到异步编程,吃透前端基石 · 共 12 篇
JavaScript 核心 · 路线总览
JavaScript 核心学习路线总览:从作用域、数据类型、原型链、闭包、this,到事件循环与异步、函数式、模块化、错误处理。以"资深工程师十年笔记"视角,把那些年踩过的坑与想通的原理串成一条线。
01 · 变量、作用域与提升
搞懂 var/let/const 的作用域差异、变量提升与 TDZ(暂时性死区)、作用域链如何逐级查找,以及块级作用域为什么是现代 JS 的默认选择。
02 · 数据类型与隐式转换
JS 的原始类型与引用类型区别、== 与 === 的隐式转换陷阱、typeof/instanceof 的边界,以及"为什么我总用 ==="。
03 · 原型与原型链
理解 JavaScript 的基于原型的继承:prototype、__proto__、constructor 三者的关系,属性查找如何沿原型链向上,以及 new 操作符背后发生了什么。
04 · 继承的演进:从原型继承到 class
梳理 JavaScript 继承写法的演进:原型链继承、构造函数继承、组合继承,到 ES6 class 与 extends。理解 class 只是原型继承的语法糖,以及 super 的执行顺序。
05 · 闭包
闭包是函数与其词法作用域的组合。讲清闭包的形成、为什么能"记住"外部变量、经典面试题(循环+var)、以及在模块封装与防抖节流中的真实应用。
06 · this 的四种绑定
彻底搞懂 JavaScript 中 this 的四种绑定规则:默认绑定、隐式绑定、显式绑定(call/apply/bind)、new 绑定,以及箭头函数不参与绑定、继承词法作用域的 this。
07 · 执行上下文与调用栈
理解 JavaScript 的执行上下文(全局/函数/eval)、调用栈如何压入弹出、栈溢出是怎么发生的,以及它与后面"事件循环"的关系铺垫。
08 · 事件循环与异步
JavaScript 异步的核心:调用栈、Web APIs、宏任务与微任务队列、事件循环调度顺序,Promise/async-await 的本质,以及一道经典输出题彻底讲清执行顺序。
09 · 函数式与高阶函数
函数式编程在 JS 中的落地:一等公民函数、纯函数、高阶函数、map/filter/reduce 的链式用法、柯里化与函数组合,以及为什么函数式让代码更易测试。
10 · 模块化
JS 模块化的演进:IIFE、CommonJS(Node)、ES Module(浏览器/现代标准),循环依赖在两种规范下的不同表现,以及 ESM 的静态特性带来的 tree-shaking 优势。
11 · 错误处理与调试
JS 的错误类型体系、try/catch/finally 的正确用法、throw 自定义错误、Error 边界与异步错误捕获(Promise/await),以及用 DevTools 定位问题的实战方法。
💡 学习建议
JS 的"怪"大多有底层原因:作用域、闭包、原型链、事件循环四块是地基,务必动手跑代码观察现象。异步与事件循环是面试与实战高发区,建议画调用栈+任务队列的图来理解。遇到"为什么输出是这样"先别记结论,去 DevTools 里打断点看执行顺序。