---
url: /interview-question/mp8b8qeh/index.md
---
::: tip 提问
哪些操作会造成内存泄露？
:::

1. 意外的全局变量

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

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

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

3. 脱离DOM的引用

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

4. 闭包

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