日期:2014-05-16  浏览次数:20338 次

请问声明后的元素对象,为什么清空对象以后,回调函数依然有效?
<div id="Btn001" style="background:red; width:100px; height:100px" /></body>



var el=document.getElementById("Btn001");
el.onclick=function(){
  alert(123)
}
el=null
alert(el)


我以为我把el清空,回调函数没有被引用了,会被垃圾回收,可为什么每次点击div,依然可以弹出123来?

------解决方案--------------------
引用:
var el=document.getElementById("Btn001"); 
el=document.getElementById("Btn001"); 
el=document.getElementById("Btn001"); 

还想问一下, 如果有三个这样的语句,是不是会有三个document.getElementById("Btn001"),Do……

dom是挂在dom树上的,那几个只是引用了dom对象。
------解决方案--------------------
引用:
你清空的是 el
不是那个dom


比如 你看到了 星星  现在你闭上眼睛 那么 星星确实还是存在


这星星是不是不管怎么折腾都始终是一颗啊?