JavaScript的知识体系可以系统性地分为以下几大类,每个类别涵盖不同的核心概念和技术要点:
1. 基础语法与核心概念
- 变量与数据类型:
var、let、const,原始类型与引用类型。 - 运算符与流程控制:条件语句(
if/switch)、循环(for/while)。 - 函数基础:函数声明与表达式、参数传递、箭头函数。
- 作用域与闭包:词法作用域、作用域链、闭包原理。
this与执行上下文:动态绑定规则、call/apply/bind。
2. 对象与原型继承
- 对象操作:属性描述符、对象方法(
Object.keys/assign)。 - 原型机制:构造函数、原型链、
instanceof原理。 - ES6类语法:
class、extends、super、静态方法。
3. 异步编程
- 回调与事件循环:回调地狱、事件循环(Event Loop)模型。
- Promise与异步流程:链式调用、
Promise.all/race。 - Async/Await:生成器原理、错误处理。
- 任务队列:微任务(Microtask)与宏任务(Macrotask)。
4. DOM操作与浏览器API
- DOM操作:节点增删改查、事件监听(冒泡/捕获/委托)。
- 浏览器API:
fetch、localStorage、History API、Web Workers。 - 浏览器渲染机制:重绘(Repaint)与回流(Reflow)。
5. 模块化与工程化
- 模块系统:CommonJS、ES Modules、动态导入。
- 包管理工具:
npm/yarn、依赖管理。 - 构建工具链:Babel转译、Webpack打包、ESLint规范。
6. ES6+新特性
- 语法增强:解构赋值、模板字符串、默认参数。
- 数据结构:
Map/Set、Symbol、WeakMap。 - 异步迭代器:
for...await、生成器函数。
7. 前端框架与生态
- 主流框架:React(Hooks、虚拟DOM)、Vue(响应式原理)、Angular(依赖注入)。
- 状态管理:Redux、Vuex、Context API。
- 构建工具集成:Next.js、Vite、Create React App。
8. 性能优化
- 代码优化:节流(Throttle)与防抖(Debounce)、算法复杂度。
- 资源管理:懒加载、代码分割(Code Splitting)、Tree Shaking。
- 网络优化:CDN、HTTP/2、缓存策略。
9. 安全实践
- 常见攻击防御:XSS(转义输入)、CSRF(Token验证)、CSP配置。
- 安全编码:避免
eval、严格模式('use strict')。
10. Node.js与后端开发
- 核心模块:
fs、http、path。 - 框架与中间件:Express、Koa、路由与中间件机制。
- 数据库交互:MongoDB(Mongoose)、SQL(Sequelize)。
11. 测试与质量保障
- 单元测试:Jest、Mocha、断言库(Chai)。
- 端到端测试:Cypress、Puppeteer。
- 测试策略:TDD(测试驱动开发)、BDD(行为驱动开发)。
12. 函数式编程
- 核心概念:纯函数、不可变性、高阶函数。
- 实用工具:
map/filter/reduce、函数组合(Compose)。
13. 高级浏览器技术
- 离线与缓存:Service Workers、PWA(渐进式Web应用)。
- 图形处理:Canvas绘图、WebGL三维渲染。
- 实时通信:WebSocket、WebRTC。
总结
JavaScript的知识体系既包含语言本身的深度(如原型链、异步模型),也涵盖广泛的生态工具(如框架、构建工具),同时需关注性能、安全等实践领域。掌握这些类别有助于构建完整的开发能力,适应全栈或前端专业方向的需求。