欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js内存管理与泄露的问题解析

程序员文章站 2022-05-17 23:54:31
定义:程序不再需要的内存由由于某种原因无法被回收至内存池。 产生的原因:内存是否仍在使用无法精确判定。 常见内存泄漏: 1.未用var声明直接使用的全局变量、错误使用this(未将this绑定给任何...

定义:程序不再需要的内存由由于某种原因无法被回收至内存池。

产生的原因:内存是否仍在使用无法精确判定。

常见内存泄漏:

1.未用var声明直接使用的全局变量、错误使用this(未将this绑定给任何对象导致this指向window)

解决办法:开头声明use strict

2.未关闭的计时器和函数回调timer和callback,如setinterval引用不再需要的节点或数据导致依赖无法回收(不很理解)

解决办法:removeeventlistener(及时移除)

3.闭包,一个作用域被创建为闭包,那么它的父作用域将被共享。(完全不明白)

4.dom,html网页中的元素被移除,但js中reng仍有引用其的dom操作,会导致该元素仍保存在内存中

仍有疑问,待解决