国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

對于js垃圾回收機制的理解

2019-11-19 15:27:33
字體:
供稿:網(wǎng)友

原理

找到不再被使用的變量,然后釋放其占用的內(nèi)存,但這個過程不是時時的,因為其開銷比較大,

所以垃圾回收器會按照固定時間間隔周期性的執(zhí)行

回收方式

a.標(biāo)記清除

當(dāng)變量進(jìn)入環(huán)境時,將這個變量標(biāo)記為“進(jìn)入環(huán)境”;當(dāng)變量離開環(huán)境時,則將其標(biāo)記為“離開環(huán)境”。

標(biāo)記“離開環(huán)境”的就回收內(nèi)存

b.引入計數(shù)(低級瀏覽器)

當(dāng)變量聲明,第一次賦值時記為1,然后當(dāng)這個變量值改變時,記錄為0,將計數(shù)為0的回收

內(nèi)存泄露

a.意外的全局變量引起的內(nèi)存泄露

原因: 全局變量不會被回收

解決:使用嚴(yán)格模式避免

b.閉包引起的

原因: 活動對象被引用,使閉包內(nèi)的變量不會被釋放

解決: 將活動對象賦值為null

c.被清理的DOM元素的引用

原因: 雖然DOM被刪掉了,但對象中還存在對DOM的引用

解決: 將對象賦值為null

d.被遺忘的定時器或回調(diào)

原因: 定時器內(nèi)部實現(xiàn)閉包,回調(diào)也是閉包

解決: 清理定時器clearInterval、null

以上這篇對于js垃圾回收機制的理解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 凤山县| 清流县| 淮滨县| 湟源县| 萨迦县| 宝丰县| 青田县| 炎陵县| 中超| 嘉义市| 阜康市| 和田县| 永德县| 汕头市| 新源县| 四子王旗| 昭平县| 新竹市| 定南县| 金堂县| 宽甸| 清新县| 越西县| 斗六市| 交城县| 集贤县| 武宣县| 永新县| 永定县| 昔阳县| 潞城市| 汤原县| 元阳县| 二连浩特市| 仁寿县| 六安市| 万盛区| 新乡市| 彰化市| 大渡口区| 姜堰市|