我改变了别人的榜样,认为它更紧凑。当一个DOM对象包含一个js对象的引用(例如,一个事件
处理程序),和JS对象持有该DOM对象,循环引用,所以在IE
内存泄漏点击
运行代码,打开
任务管理器看内存在IE8和变化。FF测试,差距就不多说了。
运行代码
复制代码代码如下所示:
内存泄漏
体{
填料:10px;
}
var;
var = 0;
setInterval(){()
函数(
Q.push(完工时间());
如果(q.length > = 10){
var = q.shift();
如果({){
s.parentnode.removechild(S);
}
}
氮+;
},10);
函数完成时间(){
var = document.createelement(跨越);
document.body.appendchild(S);
var t = document.createtextnode(*+ N +*);
s.appendchild(T);
s.onclick =
功能(e){
风格。
背景颜色=红色;
警报(N);
};
返回的;
};
那么IE下面做什么呢
当节点被
删除,手动破环的
参考和改变setInterval点下面的代码:
复制代码代码如下所示:
setInterval(){()函数(
Q.push(完工时间());
如果(q.length > = 10){
var = q.shift();
如果({){
s.onclick = null; / /这里的关键。
s.parentnode.removechild(S);
}
}
氮+;
},10);