JS内存泄漏

[TOC]
内存泄漏:用完的内存没有被释放回收

造成泄漏的因素

1.全局变量引起的内存泄漏:

1
2
3
function leaks(){
leak = 'xxxxxx';//leak 成为一个全局变量,不会被回收
}

2.闭包引起的内存泄漏

1
2
3
4
5
6
var leaks = (function(){
var leak = 'xxxxxx';// 被闭包所引用,不会被回收
return function(){
console.log(leak);
}
})()

3.DOM删除时,事件未清除导致内存泄漏

1
2
3
$('#container').bind('click', function(){
console.log('click');
}).remove();

4.循环引用
5.setTimeout 的第一个参数使用字符串而非函数的话,会引发内存泄漏。

热评文章