前言


我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷


导语


WeakMap


 #yyds干货盘点# 【js学习笔记五十一】weakmap_数据类型#yyds干货盘点# 【js学习笔记五十一】weakmap_弱引用_02​编辑

 代码部分

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>WeakMap</title>
</head>
<body>
<script>
//WeakMap 对象是一组键/值对的集合,其中的键是弱引用的。其键必须是对象,而值可以是任意的。
//WeakMap 的 key 只能是 Object 类型。 原始数据类型 是不能作为 key 的(比如 Symbol)
const wm1 = new WeakMap(),
wm2 = new WeakMap(),
wm3 = new WeakMap()
const o1 = {},
o2 = function () {},
o3 = window
wm1.set(o1, 37)
wm1.set(o2, 'azerty')
wm2.set(o1, o2) // value可以是任意值,包括一个对象或一个函数
wm2.set(o3, undefined)
wm2.set(wm1, wm2) // 键和值可以是任意对象,甚至另外一个WeakMap对象
wm1.get(o2) // "azerty"
wm2.get(o2) // undefined,wm2中没有o2这个键
wm2.get(o3) // undefined,值就是undefined
wm1.has(o2) // true
wm2.has(o2) // false
wm2.has(o3) // true (即使值是undefined)
wm3.set(o1, 37)
wm3.get(o1) // 37
wm1.has(o1) // true
wm1.delete(o1)
wm1.has(o1) // false
</script>
</body>
</html>

#yyds干货盘点# 【js学习笔记五十一】weakmap_html_03