JavaScript性能优化核心是减少主线程阻塞、降低内存压力、提升渲染响应;聚焦加载(defer/import()/preload)、执行(节流/缓存/DOM优化)、内存(及时清理/DocumentFragment/虚拟滚动)及进阶减负(Web Workers/requestIdleCallback/对象池)。JavaScript性能优化,本质是让代码更快加载、更顺滑执行、更省资源运行。核心目标就三个:减少主线程阻塞、降低内存压力、提升渲染响应。不是堆技巧,而是围绕浏览器真实工作流做取舍。
首屏时间直接决定用户是否离开。关键在“按需”和“不拖后腿”:
defer 属性,避免阻塞 HTML 解析import() 动态导入拆分代码,比如路由组件、弹窗模块只在需要时加载,非关键资源用 prefetch
主线程一卡,页面就假死。重点是“别让它干重活、别反复干同一件事”:
Map/Set 替代数组做查找,O(1) 比 O(n) 快得多内存泄漏不会立刻崩溃,但会悄悄拖垮体验,尤其长时停留的后台应用:
removeEventListener,定时器记得 clearTimeout
null,断开引用链,帮 GC 快速回收DocumentFragment,避免反复触发重排(Reflow)有些事真没必要挤在 UI 线程里干:
requestIdleCallback 在浏览器空闲时执行
面板定位瓶颈,再选 1–2 个最痛的点动手,效果立竿见影。