当在函数内部定义了其他函数时,就创建了闭包。
———— 以下的HTML元素将无法销毁 ————
function assignHandler(){
<pre name="code" class="javascript"> var element = document.getElementById("someElement");
element.onclick = function(){alert(element.id);
};
}只要匿名函数存在,element所占用的内存就永远不会被收回。
———— 以下的HTML元素可以被销毁 ————
function assignHandler(){
<pre name="code" class="javascript"> var element = document.getElementById("someElement");
var id = element.id;
element.onclick = function(){alert(id);
};
element = null;
}
原文:http://blog.csdn.net/u013705728/article/details/45541027