// WeakMap 结构和Map类似,但是接收的参数只能是对象(null除外);且没有垃圾回收机制 // WeakMap弱引用的只是键名,键值依然是正常引用 // WeakMap没有size属性,所以也不能进行遍历 let wm = new WeakMap() // WeakSet.set(key,value) key需要是一个对象 wm.set({},{"name":"lisa"}) wm.set({name:1},11) console.log(wm) // WeakMap {{…} => 11, {…} => {…}} console.log(wm.size) // undefined // 由于键名无法清除,WeakMap 只有四个方法可用 get() set() has() delete()