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