前端面試題51----JS記憶體洩露
JS記憶體空間分為棧、堆、池(一般歸併到棧中)
- 基本資料型別string、number、boolean、null、undefined儲存在棧中
- 複雜資料型別object儲存在堆中
- 常量存放在池中
- js中分配的記憶體的生命週期為:記憶體分配->記憶體使用->記憶體回收
哪些操作會造成記憶體洩漏?
記憶體洩漏指任何物件在不再擁有或不需要它之後依然存在,即這部分記憶體用完之後並沒有返回到記憶體池。
- setTimeout第一個引數是字串而不是函式的時候就會造成記憶體洩漏
- 閉包
- 控制檯日誌
- 迴圈(兩個物件彼此引用且彼此保留)
- 全域性變數
如果你不斷的建立全域性變數,不管有沒有用到他們,他們都將滯留在程式的整個執行過程中。 - 事件監聽器
在頁面中建立事件監聽器,但是在頁面跳轉時,又忘記移除這些監聽器,那麼也可能導致記憶體洩漏。
參考自:參考
相關文章
- SHBrowseForFolder 記憶體洩露記憶體洩露
- 解決git記憶體洩露問題Git記憶體洩露
- 記憶體溢位和記憶體洩露記憶體溢位記憶體洩露
- Lowmemorykiller記憶體洩露分析記憶體洩露
- 小題大做 | Handler記憶體洩露全面分析記憶體洩露
- Java面試題:細數ThreadLocal大坑,記憶體洩露本可避免Java面試題thread記憶體洩露
- 使用 mtrace 分析 “記憶體洩露”記憶體洩露
- 實戰Go記憶體洩露Go記憶體洩露
- Android 記憶體洩露詳解Android記憶體洩露
- 前端面試查漏補缺--(十三) 記憶體洩漏前端面試記憶體
- Linux記憶體洩露案例分析和記憶體管理分享Linux記憶體洩露
- ArkTS 的記憶體快照與記憶體洩露除錯記憶體洩露除錯
- nodejs爬蟲記憶體洩露排查NodeJS爬蟲記憶體洩露
- Pprof定位Go程式記憶體洩露Go記憶體洩露
- react 記憶體洩露常見問題解決方案React記憶體洩露
- 使用Windbg快速分析應用記憶體洩露問題記憶體洩露
- win10驅動記憶體洩露如何解決_win10記憶體洩露處理方法Win10記憶體洩露
- android Handler導致的記憶體洩露Android記憶體洩露
- netty 堆外記憶體洩露排查盛宴Netty記憶體洩露
- 乾貨分享:淺談記憶體洩露記憶體洩露
- Spring Boot heapdump洩露記憶體分析方法Spring Boot記憶體
- 線上記憶體洩露定位--memleak工具記憶體洩露
- java中如何檢視記憶體洩露Java記憶體洩露
- 記一次"記憶體洩露"排查過程記憶體洩露
- 簡單的記憶體“洩露”和“溢位”記憶體
- JAVA記憶體洩露的原因及解決Java記憶體洩露
- 一個 Vue 頁面的記憶體洩露分析Vue記憶體洩露
- 一個Vue頁面的記憶體洩露分析Vue記憶體洩露
- C程式記憶體洩露檢測工具——ValgrindC程式記憶體洩露
- Android效能最佳化之記憶體洩露Android記憶體洩露
- Python實現記憶體洩露排查的示例Python記憶體洩露
- JVM 常見線上問題 → CPU 100%、記憶體洩露 問題排查JVM記憶體洩露
- 面試:為了進阿里,死磕了ThreadLocal記憶體洩露原因面試阿里thread記憶體洩露
- 記一次 .NET 某工控軟體 記憶體洩露分析記憶體洩露
- 用 TDengine 3.0 碰到“記憶體洩露”?定位問題原因很關鍵記憶體洩露
- Spring Data Redis兩個問題:記憶體洩露和併發 - europaceSpringRedis記憶體洩露
- ThreadLocal原始碼解讀和記憶體洩露分析thread原始碼記憶體洩露
- 使用mtrace追蹤JVM堆外記憶體洩露JVM記憶體洩露