目录
- 垃圾回收
- 函数作用域, 块级作用域和词法作用域
- 调用堆栈
- 原始类型
- 值类型和引用类型
- 隐式, 显式, 名义和鸭子类型
- == 与 ===, typeof 与 instanceof
- this, call, apply 和 bind
- 闭包
- map, reduce, filter 等高阶函数
- 表达式和语句
- 变量提升
- Promise
- 立即执行函数, 模块化, 命名空间
- 递归
- 算法
- 数据结构
- 消息队列和事件循环
- setTimeout, setInterval 和 requestAnimationFrame
- 继承, 多态和代码复用
- 按位操作符, 类数组对象和类型化数组
- DOM 树和渲染过程
- new 与构造函数, instanceof 与实例
- 原型继承与原型链
- Object.create 和 Object.assign
- 工厂函数和类
- 设计模式
- Memoization
- 纯函数, 函数副作用和状态变化
- 耗性能操作和时间复杂度
- JavaScript 引擎
- 二进制, 十进制, 十六进制, 科学记数法
- 偏函数, 柯里化, Compose 和 Pipe
- 代码整洁之道
- 原型到原型链
- 词法作用域和动态作用域
- 执行上下文栈
- 变量对象
- 作用域链
- 解读this
- 执行上下文
- 闭包
- 参数按值传递
- call和apply的模拟实现
- bind的模拟实现
- new的模拟实现
- 类数组对象与arguments
- 创建对象的多种方式以及优缺点
- 继承的多种方式以及优缺点