【发布时间】:2012-02-09 08:56:17
【问题描述】:
function addHandler() {
var el = document.getElementById('el');
el.onclick = function() {
this.style.backgroundColor = 'red';
}
}
上面的代码包含在Mozilla blog post on JavaScript 中,并指出上面的代码会导致内存泄漏。
有人可以解释一下吗:
因为对 el 的引用无意中被为匿名内部函数创建的闭包中捕获。这会在 JavaScript 对象(函数)和本机对象 (el) 之间创建循环引用。
谢谢!
【问题讨论】:
标签: javascript browser