JavaScript
作用域与闭包、异步模型、模块系统、元编程、函数式模式。理解语言运行时机制,才能在复杂项目中精确定位问题。
Topics
异步编程(Promise / async-await)
从 callback 到 Promise 再到 async/await,系统讲解 JavaScript 异步编程的演进、Promise 状态机模型、链式调用原理及 async/await 的编译语义,助你在面试中展现对异步机制的深度理解。
ES6+ 语言特性
从 ES2015 到 ES2024,按年份梳理 JavaScript 关键语言特性。区分日常高频用法与了解级知识点,帮助你在面试中精准表达对现代 JS 演进的理解。
JavaScript 数组方法
深入解析 JavaScript 数组方法的机制差异:forEach/map/filter/reduce 的适用场景,find/some/every 的语义区别,以及 TypedArray 处理二进制数据的方法。
JavaScript 异步生成器
深入解析 JavaScript 异步生成器的机制:async generator 的执行模型、异步迭代器协议、以及如何使用 for await...of 和 ReadableStream 处理异步数据流。
JavaScript 原子操作
深入解析 JavaScript 原子操作机制:SharedArrayBuffer 与 Atomics API 的使用、原子操作的语义、以及在 Web Workers 中实现高效并发的基础设施。
JavaScript BigInt
深入解析 JavaScript BigInt 类型:任意精度整数的表示、运算、与 number 的区别、以及在加密和金融计算中的应用。
JavaScript BOM 与 DOM
深入解析浏览器对象模型(BOM)与文档对象模型(DOM):window/navigator/location/history、DOM 树结构、DOM 查询性能对比,以及跨窗口通信机制。
JavaScript class 与面向对象
深入解析 ES6 class 语法糖背后的真相:prototype 原型链继承机制、constructor、静态属性、私有字段,以及 super 的调用规则。
JavaScript ArrayBuffer 与 DataView
深入解析 JavaScript 二进制数据处理:ArrayBuffer 的创建与使用、DataView 的灵活读写、TypedArray 的类型化视图,以及大端序与小端序的处理。
JavaScript 日期时间
深入解析 JavaScript Date 对象的运作机制、时区问题、Date.now 与 Date.parse 的区别,以及 Temporal API 和 Intl.DateTimeFormat 的现代日期时间处理方案。
JavaScript 装饰器
深入解析 JavaScript 装饰器提案:类装饰器、方法装饰器、属性装饰器的定义,以及如何使用 reflect-metadata 存储元数据。
JavaScript 错误处理
深入解析 JavaScript 错误处理机制:Error 对象的属性、自定义错误类、try/catch/finally 执行顺序,以及异步错误处理和 unhandledrejection。
事件循环(Event Loop)
从为什么需要事件循环讲起,系统梳理调用栈、任务队列、微任务队列的区别,深入 Node.js libuv 事件循环各阶段,解析 setTimeout/setImmediate/process.nextTick 的差异,以及浏览器与 Node.js 事件循环的异同。
JavaScript 执行上下文
深入解析 JavaScript 执行上下文的创建过程、变量环境与词法环境的区别、作用域链的形成机制,以及闭包与执行上下文的内在联系。
JavaScript 语言基础
深入解析 JavaScript 语言本质:动态类型系统、原始类型与引用类型的内存模型、类型转换规则,以及 var/let/const 的实际差异。
JavaScript 全局 this
深入解析 JavaScript 全局对象的演进:从 window、self、frames 到 globalThis,以及不同环境下全局对象的差异和访问方式。
JavaScript 导入断言
深入解析 JavaScript 导入断言:import assertion 与 import attribute 的区别、JSON 模块导入、以及动态导入的类型指定。
JavaScript 国际化 API
深入解析 JavaScript Intl API:DateTimeFormat 的日期格式化、NumberFormat 的数字格式化、Collator 的字符串排序,以及 PluralRules 的复数处理。
JavaScript 迭代器与生成器
深入解析 JavaScript 迭代协议:迭代器与可迭代对象的定义、生成器函数的执行模型、以及如何使用迭代器惰性处理大数据集。
JavaScript JSON 序列化
深入解析 JSON.stringify 的完整行为、toJSON 自定义序列化、JSON.parse 错误处理、structuredClone 深拷贝,以及序列化边界情况处理。
JavaScript Map Set WeakMap WeakSet
深入解析 JavaScript 集合类型:Map 与 Object 的区别、Set 的去重机制、WeakMap/WeakSet 的弱引用原理,以及在缓存和私有属性中的应用。
JavaScript 内存模型
深入解析 JavaScript 堆栈内存模型、垃圾回收算法(标记-清除、分代回收)、内存泄漏的常见原因,以及如何使用 Chrome DevTools 排查内存问题。
JavaScript 模块系统
深入解析 CommonJS 与 ES Module 的本质区别、静态结构 vs 运行时求值、循环导入的处理,以及 import() 动态导入与代码分割。
JavaScript 数字类型
深入解析 IEEE 754 双精度浮点数、0.1 + 0.2 !== 0.3 的原因、安全整数范围、NaN 和 Infinity 的产生场景,以及 BigInt 处理大整数的方法。
JavaScript Promise 静态方法
深入解析 Promise 的组合方法:Promise.all 的并发模型、Promise.race 的竞态处理、Promise.allSettled 的全量结果收集、以及 Promise.any 的容错设计。
JavaScript Proxy 与 Reflect
深入解析 JavaScript 元编程能力:Proxy 的十三种拦截操作、Reflect API 的设计、以及如何用 Proxy 实现数据响应式、验证、记忆化等模式。
JavaScript 队列与微任务
深入解析 JavaScript 任务队列与微任务队列的区别:Promise、MutationObserver、queueMicrotask 的执行时机,以及它们在事件循环中的角色。
JavaScript 正则表达式
深入解析 JavaScript 正则表达式的创建方式、捕获组与环视、贪婪 vs 非贪婪匹配,以及实际场景中的输入验证与文本提取。
JavaScript 严格模式
深入解析 JavaScript 严格模式的作用:禁止 with、禁止未声明变量、arguments 原始行为、this 指向,以及 ES Module 为什么默认严格模式。
JavaScript 字符串与编码
深入解析 JavaScript 字符串的 UTF-16 编码机制、codePointAt vs charCodeAt 的区别、字符串不可变性的原因,以及 emoji 乱码问题的根源。
JavaScript Symbol 与知名符号
深入解析 JavaScript Symbol 类型:符号的创建与特性、知名符号(Well-Known Symbols)的元编程能力,以及如何使用 Symbol 实现私有属性和自定义行为。
JavaScript 顶层 await
深入解析 JavaScript 顶层 await:ES2022 引入的特性、模块初始化场景、使用限制,以及与 CommonJS require 的对比。
JavaScript Web API
深入解析现代 JavaScript Web API:fetch 请求、IntersectionObserver 懒加载、MutationObserver DOM 监听、requestAnimationFrame 动画调度,以及 structuredClone 深拷贝。
原型链与继承
系统讲解 JavaScript 原型链的 [[Prototype]] 查找机制、各类继承模式的优劣,以及 ES6 class 语法糖的本质,帮助你在面试中精准阐述 JS 面向对象模型。
作用域与闭包
深入解析 JavaScript 词法作用域链与闭包的内存模型,涵盖工程场景中的经典应用与常见陷阱,帮助你在面试中展现对执行上下文机制的底层理解。
this 绑定规则
系统梳理 JavaScript 中 this 的四条绑定规则(默认、隐式、显式、new)及箭头函数的词法 this,结合面试高频场景深入讲解优先级与陷阱。