(1)概念:指一塊被分配的內存既不能使用,又不能回收,直到瀏覽器進程結束。瀏覽器
(2)主要緣由:閉包
1)當頁面中元素被移除或替換時,若元素綁定的事件仍沒被移除,在IE中不會做出恰 當處理,此時要先手工移除事件,否則會存在內存泄露。spa
2)循環引用:常見而且通常狀況下無害,可是,在 IE 中,若是循環引用中的任何對 象是 DOM 節點或者 ActiveX 對象,垃圾收集系統則不會發現它們之間的循環關 系與系統中的其餘對象是隔離的並釋放它們。最終它們將被保留在內存中,直到瀏 覽器關閉。(打破循環) 對象
3)自動類型裝箱轉換:IE下形成內存泄漏(先轉換成相應類型)。進程
4)DOM插入順序從外到內,IE特有問題(應該從內到外添加)。事件
5)反覆重寫同一個屬性會形成內存大量佔用(但關閉IE後內存會被釋放,避免這樣寫)內存
6)閉包(打破循環引用,將引用對象置空)。內存泄漏