- ```markdown
# JavaScript 知识体系拆解
## 1. 基础语法
### 1.1 变量声明
- var/let/const 区别
- 变量提升(Hoisting)
- 暂时性死区(TDZ)
### 1.2 数据类型
#### 基本类型
- Number
- String
- Boolean
- Undefined
- Null
- Symbol
- BigInt
#### 引用类型
- Object
- Array
- Function
- Date
- RegExp
### 1.3 运算符
- 算术运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 类型运算符(typeof/instanceof)
## 2. 函数系统
### 2.1 函数定义
- 函数声明 vs 函数表达式
- 箭头函数
- 立即执行函数(IIFE)
### 2.2 参数处理
- 默认参数
- rest 参数
- 参数解构
### 2.3 作用域
- 全局作用域
- 函数作用域
- 块级作用域
- 词法作用域
### 2.4 闭包
- 闭包原理
- 内存泄漏问题
- 实际应用场景
## 3. 核心概念
### 3.1 对象系统
- 属性描述符
- 对象方法
- 对象拷贝(浅/深拷贝)
### 3.2 原型与继承
- 构造函数
- prototype 对象
- __proto__ 链
- 继承实现方式
- 原型链继承
- 构造函数继承
- 组合继承
- 原型式继承
- 寄生式继承
- class 继承
## 4. 异步编程
### 4.1 执行机制
- Event Loop
- 调用栈
- 任务队列
- 微任务/宏任务
### 4.2 异步模式
- 回调函数
- Promise
- Generator
- async/await
## 5. Web API
### 5.1 DOM 操作
- 节点选择
- 元素创建/删除
- 属性操作
- 样式操作
- 事件监听
### 5.2 BOM
- window 对象
- location 对象
- navigator 对象
- history 对象
### 5.3 事件系统
- 事件流(冒泡/捕获)
- 事件委托
- 自定义事件
- 常见事件类型
- UI 事件
- 键盘事件
- 鼠标事件
- 表单事件
## 6. ES6+ 新特性
### 6.1 语法扩展
- 解构赋值
- 模板字符串
- 扩展运算符
- 可选链(?.)
- 空值合并(??)
### 6.2 数据结构
- Set/WeakSet
- Map/WeakMap
- TypedArray
### 6.3 模块化
- CommonJS
- ES Module
- 动态导入
## 7. 工具生态
### 7.1 包管理
- npm
- yarn
- pnpm
### 7.2 构建工具
- Webpack
- Rollup
- Vite
### 7.3 代码规范
- ESLint
- Prettier
- TypeScript
## 8. 运行环境
### 8.1 浏览器原理
- 渲染引擎工作流程
- 重排与重绘
- 内存管理
### 8.2 Node.js
- 模块系统
- 文件操作
- 网络编程
- 进程管理
## 9. 性能优化
### 9.1 加载优化
- 代码分割
- 懒加载
- 预加载
### 9.2 执行优化
- 防抖/节流
- Web Workers
- 算法优化
## 10. 安全机制
### 10.1 常见漏洞
- XSS
- CSRF
- CORS 配置
- 内容安全策略(CSP)
## 11. 调试工具
### 11.1 浏览器工具
- Elements 面板
- Console 面板
- Sources 面板
- Performance 面板
- Memory 面板
### 11.2 Node调试
- inspect 参数
- Chrome DevTools 调试
- VS Code 调试器
## 12. 测试体系
### 12.1 单元测试
- Jest
- Mocha
- 断言库(Chai)
### 12.2 E2E测试
- Cypress
- Puppeteer
## 13. 框架生态
### 13.1 前端框架
- React
- Vue
- Angular
### 13.2 服务端框架
- Express
- Koa
- NestJS
## 14. 学习资源
### 14.1 官方文档
- MDN Web Docs
- ECMAScript 规范
### 14.2 经典书籍
- 《JavaScript高级程序设计》
- 《你不知道的JavaScript》
- 《JavaScript语言精髓》
### 14.3 实践平台
- LeetCode
- Codewars
- FreeCodeCamp
- ```
- 该知识体系从基础到进阶覆盖JavaScript核心知识点,包含语言特性、运行环境、工具生态等多个维度,可根据不同学习阶段选择对应模块深入。建议按照基础语法→核心概念→异步编程→Web API→工具生态的顺序逐步学习。
复制内容
下载markdown文件
在线编辑