浏览器都有自己的内存销毁机制.
谷歌:看当前的内存是否有东西在占用着,没有被占用的话,自己会在空闲的时候进行销毁.
IE和火狐:
var obj = {}; //计数一个堆内存
var obj2 = obj;
通过计数器来判断是否有成员引用内存,如果计数器为零,则内存销毁.
产生内存泄露的情况:
1.给dom对象增加一个属性,属性值是对象
2.DOM对象和js对象的相互引用
function fn(obj){
this.a = obj;
obj.b = this;
}
var f = new fn(document.getElementById('div1'));
解决方法:
1.在window.onunload(当浏览器在关闭的时候),把内存地址的引用清楚.
window.onunload = function(){
document.
};