他の人の例を変更して、このようにコンパクトになったと思います。他の人の言葉を言い換えると、DOM オブジェクトに Js オブジェクト (イベント ハンドラーなど) への参照が含まれており、この Js オブジェクトが DOM オブジェクトへの参照を保持している場合、循環参照で十分であるため、ie の下でメモリ リークが発生しました。 。 [コードの実行] をクリックしてタスク マネージャーを開き、メモリの変更を確認します。 ie8 と ff でそれぞれテストしましたが、違いは言うまでもありません。
コードを実行します
<タイトル<スタイル< ;
ボディ {
パディング: 10px;
} <&> & lt;/style>
<script><br> var q = [];<br> var n = 0 ;<br> setInterval(function(){<br> q.push(makeSpan());<br> if (q.length>=10){<br> var s = q.shift();<br> if(s){<br> s.parentNode.removeChild(s);<br> }<br> }<br> n ;<br> },10);<br><br> function makeSpan(){<br> var s = document.createElement("span");<br> document.body.appendChild(s); <br> var t=document.createTextNode("*** " n " ***");<br> s.appendChild(t);<br> s.onclick=function(e){<br> s. style.backgroundColor="red";<br>alert(n);<br> } ;<br> return s;<br> };<br> </script>