![](/img/trans.png)
[英]Does javascript Garbage Collector dispose global variables?
[英]Does the Javascript garbage collector delete unused key/value pairs?
我有一个 websocket 系统,其中我有一个名为sessions
的 object ,关键是 session 的名称,而值是 websockets 库的数组,而使用ws
库。 我想知道垃圾收集器是否会自动删除未使用的键/值对,例如旧会话,或者我是否必须使用delete
关键字手动删除。
不。
当没有对它们的引用时,垃圾收集将清理它们。
引用可以是 object 属性或变量。
如果变量或属性被新值覆盖,属性被显式delete
d 或变量超出 scope(例如 ZC1C425268E68385F9F9F9A18A58Z (例如,ZC1C425268E68385F9F9F9A18A58Z),则引用将仅 go 离开。
在您的示例中:
sessions
将引用您的 object。 它不会 go 消失,因为您始终拥有对会话集合的引用。
在 object 内部,指向 arrays 的属性不会 go 消失,因为 ZA8CFDE6331BD59EB2AC96F819 仍然存在。
如果要删除 object 的值之一,则需要明确执行此操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.