- ```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文件 在线编辑