度娘解释
内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。即所谓内存泄漏。
IE下Javascript中如何触发内存泄露(针对DOM操作)
obj_div1.data = obj_div1;
对自身的循环引用;
var obj = obj_div1;
obj.data = obj_div1;
obj与obj_div1指向同一DOM对象,同样是对自身的循环引用;
function f(){ var _obj = document.getElementById("mydiv"); _obj.datafilled = function(){
return true;
};
};
闭包的内存泄露比较隐蔽,因为闭包的循环引用是间接的。从表面上看,上面的代码中没有任何循环引用。但是有一个闭包,内部函数有权访问外部函数的变量。_obj是对页面DOM元素的引用,这个DOM元素长期在页面中,而它的属性又是一个可以访问自身的闭包(作用域链),所以产生循环引用的问题。
解决的方法是最后解除对象引用,如:_obj = null;