垃圾回收机制

// 引用
// 分类:显示引用和隐士引用

// 显示引用:一个对象访问另一个对象下属性。
//----->一个对象引用另一个对象
// 隐士引用:一个对象,通过原型对象访问的属性
// 对象指的是:GO AO 函数对象 普通独享
// 引用计数垃圾收集
// —> 关键看,一个对象是否被其他变量所引用(使用)
// 零引用的对象;被垃圾回收机制所回收

  var o = {
    a: {
      b: 2,
    },
  };

// 两个对象,一个key 为a 一个key 为b
// 两个对象被创建,一个作为另一个的属性被引用,另一个被分配给变量o
// 很显然,没有一个可以被垃圾收集
var o2 = o; // O2 引用 key 为a 的对象
o = 1; // o // 这个时候 只有 o2引用 key为a 的对象; o 不在引用了
var oa = o2.a; // key 为 b 的对象 被 oa变量和 a 属性引用

o2 = “yo”; // 虽然最初的对象现在已经是零引用了,可以被垃圾回收了
// 但是它的属性a的对象还在被oa引用,所以还不能回收
oa = null; // a属性的那个对象现在也是零引用 它可以被垃圾回收了

// 总结:代码从头执行到尾部,如果说这个对象,以及对象中属性;没有被任何全局变量所引用(直接,间接),那么这个对象就会被回收

 // 循环引用;(学术观点不同),浏览器底层处理方式不同。ie 6,7 内存泄露(符合引用计算垃圾算法),其他浏览器;可能用的是  循环引用算法 和 引用计算垃圾算法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值