js内存泄漏的一个很好的例子

js内存泄漏的一个很好的例子
我改变了别人的榜样,认为它更紧凑。当一个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);
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部