內存洩漏 是 對岸用語,台灣的用詞是 記憶體洩漏,英文是memory leak,
具體狀況就是好比說 一個變數它一直被某段程式抓住,所以它不會被排入GC的佇列裡,但是那個當下你也已經access不到那個變數了,就變成你沒辦法用那個變數裡面存的資料,但是它確實一直佔著你的記憶體空間。就像打電動遊戲,最大HP減少了那樣....javaScript裡的話 , closure有可能會造成記憶體洩漏,連addEventListener如果沒用好的話也有可能造成記憶體洩漏......不可不注意...。
這篇G.T.Wang大大的好文有講到js裡的記憶體洩漏
https://blog.gtwang.org/web-development/javascript-memory-leak-patterns/
或是您想看原文的:
http://www.ibm.com/developerworks/library/wa-memleak/index.html#resources
這一篇裡有講到addEventListener在什麼情況下會造成記憶體洩漏和如何預防(removeEventListener)
https://auth0.com/blog/four-types-of-leaks-in-your-javascript-code-and-how-to-get-rid-of-them/