JavaScript 性能优化笔记
1. 常见性能问题
- 频繁操作 DOM:每次操作 DOM 都会触发重排与重绘。
- 大数组循环:高复杂度循环影响渲染。
- 闭包滥用:内存占用大,可能导致泄漏。
- 递归深度大:可能导致调用栈溢出。
2. 优化策略
- DOM 操作最小化
1 | // 不推荐 |
- 防抖和节流
- 防抖:适合输入搜索、resize
1 | function debounce(fn, delay = 300) { |
- 节流:适合滚动、鼠标移动
1 | function throttle(fn, interval = 300) { |
- 避免重复计算
- 使用缓存、Map 或闭包存储中间结果
1 | const cache = {}; |
- 异步优化
- Web Worker 处理计算密集型任务
- requestAnimationFrame 优化动画