不理解闭包和事件绑定内存泄露问题,有代码,右图,欢迎进来
[b]我不明白他的那个图到底是什么意思?怎么搞的作用域循环引用/b]
如果看不清图片的话,网页源地址:http://www.update8.com/Web/Javascript/11137_4.html
< html > < head > < script language = “ JScript “ > function AttachEvents(element) { // This structure causes element to ref ClickEventHandler element.attachEvent( “ onclick “ , ClickEventHandler); function ClickEventHandler() { // This closure refs element } } function SetupLeak() { // The leak happens all at once AttachEvents(document.getElementById( “ LeakedDiv “ )); } </ script > </ head > < body onload = “ SetupLeak() “ > < div id = “ LeakedDiv “ ></ div > </ body > </ html >function BreakLeak() { document.getElementById(”LeakedDiv”).detachEvent(”onclick”, document.getElementById(”LeakedDiv”).expandoClick); document.getElementById(”LeakedDiv”).expandoClick = null; }