JS垃圾回收机制

参考书籍《JavaScript高级程序设计》
JS具有自动垃圾收集机制,执行环境会负责管理代码执行过程中使用的内存。
1、标记清除
当变量进入执行环境时,会对该变量进行标记,当变量离开环境时,会修改标记。垃圾收集器会对正在使用的变量去掉标记,清除掉有标记的变量的内存。差不多是这样的,不过只是一个很模糊的过程,具体如何标记,怎么标记要清除的变量,这是一个问题。
2、引用计数
这个应该还比较好理解。
引用计数的含义是:跟踪记录每个值被引用的次数。
当引用次数为0时,代表没有办法访问这个值。垃圾收集器下次运行时,就可以清除引用次数为0的值的内存。不过存在循环引用的问题,那么这个值的引用次数不为0。
function problem(){
var a = new Object();
var b = new Object();
a.someOtherobject = b;
b.anotherObject = a;
}//程序来自《JavaScript高级程序设计》没用IDE 我也不知道打错没
//。。。。意思差不多就是这个
a b 引用次数不会为0 。。。因此不会被回收。

差不多就这样,后面想到再补。。。不对的地方敬请指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值