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

千鋒教育qyf發表於2021-07-22

JS2

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

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

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

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

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

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

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

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

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

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

  閉包

  沒有清理的 DOM 元素引用


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

相關文章