垃圾回收机制

2018-04-24  本文已影响2人  xingkong_s

因为垃圾回收机制 依赖 引用计数,

如果一个值的 引用次数 不为0,垃圾回收机制 就不会释放这块内存。

结束使用该值之后,有时会忘记 取消引用 ,导致内存无法释放,进而可能会 引发 内存泄漏。

取消引用 即 置空

const e1 = document.getElementById('foo');
const e2 = document.getElementById('bar');
const arr = [
  [e1, 'foo 元素'],
  [e2, 'bar 元素'],
];

// e1和e2是两个对象 形成了arr对e1和e2的引用。

// 不需要 e1 和 e2 的时候
// 必须手动删除引用

arr [0] = null;
arr [1] = null;

WeakMap的专用场合就是,它的键所对应的对象,可能会在将来消失。WeakMap结构有助于防止内存泄漏。
WeakMap 弱引用的只是键名,而不是键值。键值依然是正常引用。

上一篇 下一篇

猜你喜欢

热点阅读