前端面試題51----JS記憶體洩露
JS記憶體空間分為棧、堆、池(一般歸併到棧中)
- 基本資料型別string、number、boolean、null、undefined儲存在棧中
- 複雜資料型別object儲存在堆中
- 常量存放在池中
- js中分配的記憶體的生命週期為:記憶體分配->記憶體使用->記憶體回收
哪些操作會造成記憶體洩漏?
記憶體洩漏指任何物件在不再擁有或不需要它之後依然存在,即這部分記憶體用完之後並沒有返回到記憶體池。
- setTimeout第一個引數是字串而不是函式的時候就會造成記憶體洩漏
- 閉包
- 控制檯日誌
- 迴圈(兩個物件彼此引用且彼此保留)
- 全域性變數
如果你不斷的建立全域性變數,不管有沒有用到他們,他們都將滯留在程式的整個執行過程中。 - 事件監聽器
在頁面中建立事件監聽器,但是在頁面跳轉時,又忘記移除這些監聽器,那麼也可能導致記憶體洩漏。
參考自:參考
相關文章
- 記憶體洩露記憶體洩露
- 記憶體洩露引起的問題記憶體洩露
- ThreaLocal記憶體洩露的問題記憶體洩露
- JVM與記憶體洩露問題JVM記憶體洩露
- js記憶體洩露JS記憶體洩露
- JavaScript記憶體洩露JavaScript記憶體洩露
- 記憶體洩露嗎記憶體洩露
- SHBrowseForFolder 記憶體洩露記憶體洩露
- 解決git記憶體洩露問題Git記憶體洩露
- Js記憶體洩露問題總結JS記憶體洩露
- Java面試題:細數ThreadLocal大坑,記憶體洩露本可避免Java面試題thread記憶體洩露
- 記憶體溢位和記憶體洩露記憶體溢位記憶體洩露
- Lowmemorykiller記憶體洩露分析記憶體洩露
- 小題大做 | Handler記憶體洩露全面分析記憶體洩露
- Scrapy的記憶體洩露問題總結記憶體洩露
- 【Java面試題】之記憶體洩漏Java面試題記憶體
- 使用 mtrace 分析 “記憶體洩露”記憶體洩露
- 實戰Go記憶體洩露Go記憶體洩露
- js記憶體洩露的原因JS記憶體洩露
- Java記憶體洩露的原因Java記憶體洩露
- JAVA 記憶體洩露的理解Java記憶體洩露
- IE中的記憶體洩露記憶體洩露
- 學習Java:記憶體洩露Java記憶體洩露
- PHP的記憶體洩露問題與垃圾回收PHP記憶體洩露
- 難解決的記憶體洩露(OutOfMemory)問題!!!記憶體洩露
- 記一次Go websocket 專案記憶體洩露排查 + 使用Go pprof定位記憶體洩露GoWeb記憶體洩露
- Android 記憶體洩露詳解Android記憶體洩露
- 線上記憶體洩露定位--memleak工具記憶體洩露
- Pprof定位Go程式記憶體洩露Go記憶體洩露
- Android 檢測記憶體洩露Android記憶體洩露
- 如何處理 JavaScript 記憶體洩露JavaScript記憶體洩露
- leaks工具查詢記憶體洩露記憶體洩露
- MFC記憶體洩露與檢測記憶體洩露
- 如何定位和解決記憶體洩露記憶體洩露
- JavaScript中的記憶體洩露模式JavaScript記憶體洩露模式
- Web 前端開發日誌(三):HTML 節點的記憶體洩露問題Web前端HTML記憶體洩露
- react 記憶體洩露常見問題解決方案React記憶體洩露
- 使用Windbg快速分析應用記憶體洩露問題記憶體洩露