以下四種情況會造成內存的泄漏:
意外的全局變量: 由于使用未聲明的變量,而意外的創建了一個全局變量,而使這個變量一直留在內存中無法被回收。
被遺忘的計時器或回調函數: 設置了 setInterval 定時器,而忘記取消它,如果循環函數有對外部變量的引用的話,那么這個變量會被一直留在內存中,而無法被回收。
脫離 DOM 的引用: 獲取一個 DOM 元素的引用,而后面這個元素被刪除,由于一直保留了對這個元素的引用,所以它也無法被回收。
閉包: 不合理的使用閉包,從而導致某些變量一直被留在內存當中。