千家信息网

JavaScript中的弱引用和强引用是什么

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"JavaScript中的弱引用和强引用是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有
千家信息网最后更新 2026年11月03日JavaScript中的弱引用和强引用是什么

本篇内容介绍了"JavaScript中的弱引用和强引用是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

什么是弱引用和强引用

JavaScript 中强引用:对象的引用在 JavaScript 中是强引用,也就是将一个引用对象通过变量或常量保存时,那么这个变量或常量就是强引用,这个对象就不会被回收。

JavaScript 中弱引用: WeakMaps 和 WeakSets 是我们在 JavaScript 使用弱引用唯一途径,将一个对象作为键添加到 WeakMap 或 WeakSet 中并不能防止这些对象被回收。

举例说明弱引用和强引用

强引用就是一个小孩A牵着一条狗,他们之间通过狗链儿连着。

弱引用就是,旁边有个人B指着A牵的狗,说:嘿,那有条狗,B指向那条狗,但他们之间没有是指绑在一起的东西。

当A放开狗链,狗就会跑掉(被垃圾回收),无论B是不是还指着。

但是,当B不再指着那条狗,狗还被A牵着,不会影响它是否跑掉。

在JavaScript中演示弱引用和强引用

let people = {name:'张三',age:25}let people1 = people;

在上面的代码中我们将{name:'张三',age:25}赋值给变量people时,在内存中会存在一根线将它们连接起来:


然后创建people1变量,将people赋值给people1,相当于people1也引用这个对象:

我们再来看当我们使用ES6新引入的类型WeakSet和WeakMap在存储引用值时,是一种什么样的情况。

let people = {name:'张三',age:25}let people1 = people;let set = new WeakSet();set.add(people);

我们新建了一个WeakSet()实例,通过add方法将添加了people,people对应的引用值是{name:'张三',age:25}。

可以看到:set实例中的值{name:'张三',age:25}引用指向于{name:'张三',age:25}(在实际内存中他指向的是该数据的栈的指针引用,该栈指向对应堆中的对应的那个地址的值)。并且需要特别注意的是,这条弱引用的"线"是透明的,这是什么意思?他和强引用的区别在哪里?

一句话概述:强引用被{name:'张三',age:25}这个引用认可为一个"连接",而弱引用不被认可。即该引用并不知道它被set实例所引用。

这说明垃圾回收也不知道该引用被set实例所引用。那么如果该引用的所有强引用连接都被断开了(变量被赋值为null或其他情况),那么该引用会被当作垃圾销毁,即使set实例还在引用着该引用。

let people = {name:'张三',age:25}let people1 = people;let set = new WeakSet();set.add(people);people = null;people1 = null;

我们把强引用都断开会出现什么情况呢?

因为所有的强引用都断开了,那么垃圾回收认为该引用{name:'张三',age:25}不需要了,就会将他销毁。那么对应的set实例所用到的该引用也都不复存在了,即使set实例还在使用着该引用。

"JavaScript中的弱引用和强引用是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

张三 实例 对象 变量 垃圾 情况 指向 就是 之间 内存 内容 实际 常量 更多 知识 认可 实用 学有所成 接下来 一句话 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网与科技 互联网核心科技是什么 狮子座互联网科技 互联网科技作文 互联网金融科技创新 互联网高科技企业 互联网高科技股票 新华互联网科技校企合作 安控科技rtu产品工业互联网 科技与互联网的利与弊 互联网经济与金融科技 语蝶互联网科技有限公司 哈尔滨屹滨互联网科技有限公司 互联网科技和法律行业 明优互联网科技有限公司 浙南科技城互联网大厦招聘 南京一网一红互联网科技有限公司 第三届互联网大会安防黑科技 互联网科技创新创业项目 网互联网络科技 互联网科技图片 北京路客互联网科技有限公司 上海互联网科技有限公司 四川狮子座互联网科技 四个字互联网科技公司取名 华中科技有哪些互联网大佬 济南华为互联网科技产业总部基地 广州新华互联网科技学校电竞方面 西安左小互联网科技有限公司 杭州科技互联网公司有哪些
0