码迷,mamicode.com
首页 > Web开发 > 详细

js的垃圾回收

时间:2019-07-30 23:29:44      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:一个   就会   垃圾   访问   空间   闭包   size   http   遇到   

推荐阅读:《JS 闯关记》之垃圾回收和内存管理

常见的垃圾回收有2种策略:标记清除 和 引用计数

标记清除

把内存里面的所有变量都打上标记,然后,去掉环境中的变量以及被环境中的变量引用的变量的标记。

还保留着标记的变量意味着已经无法访问到。

等到垃圾回收执行的时候,垃圾回收器会把带标记的变量回收。

引用计数

声明一个变量,并将一个引用类型值赋给该变量,那么这个值的引用次数就是1,同理,之后如果还有变量引用它,引用次数会+1,变量取消引用的话引用次数减1。

等到垃圾回收执行的时候,垃圾回收器会把引用次数为0的变量回收。

ps: 早期很多浏览器使用引用计数策略,但是后来出现循环引用的问题,现代浏览器都纷纷采用标记清除法了

优化代码策略

我们往往会遇到一些内存泄露的问题,就是一些变量我们不在用了,但是还是保留着。最常见的就是一些全局变量和一些闭包变量,我们应该尽可能的把不需要再用到的变量置空。

例如本来let a = {name: ‘rick‘},我们不要的用的时候把a = null。这样下次执行垃圾回收的时候,垃圾回收器就会把{name: ‘rick‘}占用的空间给释放。

js的垃圾回收

标签:一个   就会   垃圾   访问   空间   闭包   size   http   遇到   

原文地址:https://www.cnblogs.com/amiezhang/p/11273400.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!