跳到主要内容

内存泄漏

内存泄漏是什么?​

  • 定义: 不再使用的对象仍被引用, 垃圾回收无法释放其占用的内存;
  • 后果: 内存占用持续增长, 页面逐渐卡顿甚至崩溃;

哪些写法会导致内存泄漏?​

  • 意外生成的全局变量, 一直挂在 window 上无法回收;
  • 遗忘的定时器或回调函数持续持有引用;
  • 大量 console 输出保留对象引用;
  • 不正确地使用闭包, 让变量存活超出应有的生命周期;
  • 删除 DOM 后未解除引用, 浏览器仍持有该 DOM;
  • 循环引用;