javascript的垃圾回收機制指的是什麼?

千鋒武漢發表於2021-08-02

javascript的垃圾回收機制指的是什麼?你瞭解嗎?本文小編給大家詳細解讀一下!

在這裡插入圖片描述

定義:指一塊被分配的記憶體既不能使用,又不能回收,直到瀏覽器程式結束。

像 C 這樣的程式語言,具有低階記憶體管理原語,如 malloc()和 free()。開發人員使用這些原語顯式地對作業系統的記憶體進行分配和釋放。

而 JavaScript 在建立物件(物件、字串等)時會為它們分配記憶體,不再使用對時會“自動”釋放記憶體,這個過程稱為垃圾收集。

記憶體生命週期中的每一個階段:

分配記憶體 —  記憶體是由作業系統分配的,它允許您的程式使用它。在低階語言(例如 C 語言)中,這是一個開發人員需要自己處理的顯式執行的操作。然而,在高階語言中,系統會自動為你分配內在。

使用記憶體 — 這是程式實際使用之前分配的記憶體,在程式碼中使用分配的變數時,就會發生讀和寫操作。

釋放記憶體 — 釋放所有不再使用的記憶體,使之成為自由記憶體,並可以被重利用。與分配記憶體操作一樣,這一操作在低階語言中也是需要顯式地執行。

四種常見的記憶體洩漏:全域性變數,未清除的定時器,閉包,以及 dom 的引用

全域性變數 不用 var 宣告的變數,相當於掛載到 window 物件上。如:b=1; 解決:使用嚴格模式

被遺忘的定時器和回撥函式

閉包

沒有清理的 DOM 元素引用

javascript的垃圾回收機制指的是什麼?上面已經為大家做了詳細的介紹,想要獲取更多免費web前端學習路線和學習資料可以關注小編,後期分享更多Web前端知識。

本文來自千鋒教育,轉載請註明出處。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2784630/,如需轉載,請註明出處,否則將追究法律責任。

相關文章