我把別人的例子改了一下,覺得這樣寫比較緊湊!套用別人的原話,當一個DOM物件包含一個Js物件的引用(例如一個Event Handler), 而這個Js物件又持有對這個DOM物件的引用時,一個環狀引用就行成了,於是在ie下就出現了記憶體外洩。點擊“運行程式碼”並打開任務管理器以查看記憶體變化。分別在ie8和ff下測試,差距不用多說。
運行程式碼
程式碼如下:
程式碼如下:
碼html>
Memory leak
<script><BR> var q = [];<BR> {<BR> q.push(makeSpan());<BR> if(q.length>=10){<BR> > s .parentNode.removeChild(s);<BR> }<br> }<br> n ;<> var s = document.createElement( "span");<BR> document.body.appendChild(s);<BR> var t=document.createTextNode("*** " n " ***");<> <BR> s.onclick=function(e){<BR> 🎜> };<BR> return;<BR> };<BR> </script>