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