当在函数内部定义了其他函数时,就创建了闭包。
———— 以下的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