javascript
javascript的垃圾回收机制指的是什么?
javascript的垃圾回收機(jī)制指的是什么?你了解嗎?本文小編給大家詳細(xì)解讀一下!
定義:指一塊被分配的內(nèi)存既不能使用,又不能回收,直到瀏覽器進(jìn)程結(jié)束。
像 C 這樣的編程語(yǔ)言,具有低級(jí)內(nèi)存管理原語(yǔ),如 malloc()和 free()。開發(fā)人員使用這些原語(yǔ)顯式地對(duì)操作系統(tǒng)的內(nèi)存進(jìn)行分配和釋放。
而 JavaScript 在創(chuàng)建對(duì)象(對(duì)象、字符串等)時(shí)會(huì)為它們分配內(nèi)存,不再使用對(duì)時(shí)會(huì)“自動(dòng)”釋放內(nèi)存,這個(gè)過(guò)程稱為垃圾收集。
內(nèi)存生命周期中的每一個(gè)階段:
分配內(nèi)存 —? 內(nèi)存是由操作系統(tǒng)分配的,它允許您的程序使用它。在低級(jí)語(yǔ)言(例如 C 語(yǔ)言)中,這是一個(gè)開發(fā)人員需要自己處理的顯式執(zhí)行的操作。然而,在高級(jí)語(yǔ)言中,系統(tǒng)會(huì)自動(dòng)為你分配內(nèi)在。
使用內(nèi)存 — 這是程序?qū)嶋H使用之前分配的內(nèi)存,在代碼中使用分配的變量時(shí),就會(huì)發(fā)生讀和寫操作。
釋放內(nèi)存 — 釋放所有不再使用的內(nèi)存,使之成為自由內(nèi)存,并可以被重利用。與分配內(nèi)存操作一樣,這一操作在低級(jí)語(yǔ)言中也是需要顯式地執(zhí)行。
四種常見的內(nèi)存泄漏:全局變量,未清除的定時(shí)器,閉包,以及 dom 的引用
全局變量 不用 var 聲明的變量,相當(dāng)于掛載到 window 對(duì)象上。如:b=1; 解決:使用嚴(yán)格模式
被遺忘的定時(shí)器和回調(diào)函數(shù)
閉包
沒(méi)有清理的 DOM 元素引用
javascript的垃圾回收機(jī)制指的是什么?上面已經(jīng)為大家做了詳細(xì)的介紹,想要獲取更多免費(fèi)web前端學(xué)習(xí)路線和學(xué)習(xí)資料可以關(guān)注小編,后期分享更多Web前端知識(shí)。
本文來(lái)自千鋒教育,轉(zhuǎn)載請(qǐng)注明出處。
總結(jié)
以上是生活随笔為你收集整理的javascript的垃圾回收机制指的是什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java学完可以应用在什么领域?这8大领
- 下一篇: 18个常用的JavaScript片段分享