以下代码被视为导致内存泄漏,因为它element
维护了对函数的引用bar
并bar
维护了对element
via闭包的引用(如果我理解正确的话)。
为什么这会导致内存泄漏?仅当element
DOM节点时才引起泄漏吗?
function foo(element, a, b) {
element.onclick = function bar() { /* uses a and b */ };
}
此代码仅在某些旧版本的Internet Explorer中导致内存泄漏。Internet Explorer 8对内存管理进行了一些更改,从而缓解了该问题:
https://msdn.microsoft.com/zh-CN/library/dd361842(v=vs.85).aspx
由于所有受影响的Internet Explorer版本现在已完全过时,因此不再是您需要关注的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句