此页内容

约 217 字小于 1 分钟

2022-04-16

提问

哪些操作会造成内存泄露?

  1. 意外的全局变量

    由于使用未声明的变量,而意外的创建了一个全局变量,而使这个变量一直留在内存中无法被回收。

  2. 被遗忘的计数器或回调函数

    设置了setInterval定时器时,忘记取消它。如果循环函数有对外部变量的引用,那么这个变量会一直被留在内存中无法被回收。

  3. 脱离DOM的引用

    在获取一个DOM的元素引用后,这个元素被删除,由于保留了对这个元素的引用,所以也无法被回收。

  4. 闭包

    不合理的使用闭包,从而导致某些变量一直留在内存中无法被回收。