首页 > 解决方案 > 如何删除Javascript中的所有对象引用?

问题描述

给定以下代码:

let obj = { data: 1 };
let ref1 = { data: obj };
let ref 2 = [ obj ];

我怎样才能删除obj它的引用也被删除?(我的意思是ref1.data === null && ref2.length === 0

可能吗?

标签: javascriptpointersreferencegarbage-collection

解决方案


在 javascript 执行环境中的某个地方,有一段代码在跟踪对对象的引用并在所有引用超出范围时运行内存垃圾收集。

您正在寻找类似的东西,除了您想以某种方式在特定时间点找到对特定对象的所有活动引用,并将该引用更改为 null。

我认为这是不可能的,除非您想编写自己的 javascript 解释器。

但也许如果你支持一个关卡并解释你为什么要这样做,就有一种方法可以实现你的目标。


推荐阅读