Skip to content

现代 JavaScript 教程

这套教程面向正在准备中级前端面试、同时希望补牢语言基础的读者。内容以 ECMAScript 实时规范 为语言基线,以浏览器和现代 Node.js 的共同语义为主;版本敏感内容核对于 2026-07-21

内容定位

这里不追求罗列所有 API,而是围绕面试中最常被继续追问的主线展开:值如何存储、对象如何查找属性、函数如何执行、异步任务如何衔接,以及语言提供了哪些元编程能力。

每个内容页都按两层组织:

  • 快速回答:30~60 秒可直接口述的结论,配一个能现场写出的最小示例。
  • 深入解答:解释执行机制、工程边界和常见错误,最后给出真实的面试追问。

快速导航

阶段章节你会解决的问题
入门JavaScript 简介JavaScript、ECMAScript 与宿主环境是什么关系
入门Hello, world!怎样在浏览器和 Node.js 中运行第一段程序
工具在浏览器中调试如何用断点、作用域和调用栈定位问题
基础对象属性访问、动态键、遍历与复制分别如何工作
基础原始值与引用值值传递、包装对象和相等比较有什么边界
函数递归和堆栈递归的终止条件、调用栈和复杂度如何分析
对象属性标志和属性描述符怎样精确控制属性的可写、可枚举和访问行为
对象原型继承属性查找链与构造函数的 prototype 是什么关系
面向对象Class 基础语法class、继承、私有字段和原型机制如何配合
稳定性错误处理同步异常、异步拒绝和自定义错误如何处理
异步回调回调的控制反转、错误优先约定和 Promise 化
迭代Generator可迭代协议与暂停执行如何协作
工程化模块简介ESM 的静态结构、实时绑定和循环依赖
元编程Proxy 和 Reflect如何拦截对象内部操作且不破坏语言不变量

学习路径

第一次系统学习

按导航顺序学习即可。读完“回调”后,回头用“调试”章节观察调用栈与异步调用栈,再进入 Generator、模块和 Proxy,理解会更稳。

面试前快速复习

先只读每页的“快速回答”和“高频面试追问”。答不完整的题,再展开对应“深入解答”,并亲手运行其中的代码。

针对薄弱点补课

  • 分不清“复制对象”和“共享对象”:先读原始值与引用值,再读对象。
  • 说不清 class 与原型:先读原型继承,再读 Class。
  • 异步错误经常漏掉:先读错误处理,再读回调和模块。
  • 框架响应式原理模糊:先读属性描述符,再读 Proxy 与 Reflect。

使用建议

代码示例默认可以直接粘贴到现代浏览器控制台或 Node.js 中运行;依赖 DOM、HTML 或多文件模块的示例会明确标注运行环境。面试练习时,建议先口述“快速回答”,再不看答案写出最小实现,最后用“深入解答”补充边界与取舍。

进一步查阅:ECMAScript 语言规范MDN JavaScript 指南