WeakMap 这个特殊的集合类型实在 ES6 中加入的,其独特之处就在于弱引用。
弱引用的定义这边就不说了,大家可以到 MDN 上去看。
下面直接抛出问题代码:
var a = new WeakMap();
var b = {id: 1};
var c = "lalala"
// 添加内容
a.set(b,c);
//解除外部强引用
b = null;
console.log(a);
解除外部强引用后,WeakMap 中应该没有内容才对,但是结果是, WeakMap 中的内容还在!
这是为什么?求解
杨__羊羊
随时随地看视频慕课网APP
相关分类