内存泄漏
内存泄漏是指不再用到的内存,没有及时释放。既不能使用,又不能回收。
导致内存泄漏的几种常见情况
1.意外形成全局变量
解决方法:加上 ‘use strict’ 启用严格模式来避免这类问题, 严格模式会阻止你创建意外的全局变量.
2.闭包
解决方法:在函数外部定义事件处理函数,解除闭包。或在闭包中,删除没用的属性以减少对内存的消耗。或在外部函数中删除对DOM的引用
3. 清除页面dom元素时,dom元素绑定的事件未解绑
解决办法:手工移除事件。
4.循环引用
function fn() {
var a = {};
var b = {};
a.pro = b;
b.pro = a;
}
fn();
解决办法:手工解除循环引用。
5. 未清除的计时器或延时器
解决办法:clearTimeout(),clearInterval()。