function bindEvent() { var obj=document.createElement("XXX"); obj.onclick=function(){ //Even if it's a empty function } }
假设A()执行时创建的作用域对象叫做ScopeA 找到以下引用关系
ScopeA引用DOM对象document.createElement("xxx");
DOM对象document.createElement("div");引用函数function(){ //Even if it's a empty function }
函数function(){ //Even if it's a empty function }引用ScopeA 出现了循环引用
总结闭包。
好的,看来好好在好好看下作用域链。谢谢。
不对,还有问题,那么为什么这个东西只有在低级IE版本下才会内存泄露,高级浏览器,并不会呢。
@大贱豪: 不好意思,答案是都会,只是我的测试程序被浏览器优化了,而低级浏览器没有,所以出现了错觉。