由于IE的js对象和DOM对象使用不同的垃圾收集方法,因此闭包在IE中会导致内存泄露问题,也就是无法销毁驻留在内存中的元素
function closure(){
var oDiv = document.getElementById('oDiv');//oDiv用完之后一直驻留在内存中
oDiv.onclick = function () {
alert('oDiv.innerHTML');//这里用oDiv导致内存泄露
};
}
closure();
//最后应将oDiv解除引用来避免内存泄露
function closure(){
var oDiv = document.getElementById('oDiv');
var test = oDiv.innerHTML;
oDiv.onclick = function () {
alert(test);
};
oDiv = null;
}
本文探讨了在Internet Explorer浏览器中,JavaScript闭包可能导致的内存泄漏问题。通过具体代码示例,展示了如何避免因DOM元素引用未释放而造成的内存占用问题。
1564

被折叠的 条评论
为什么被折叠?



