gpt4 book ai didi

javascript - 将变量设置为 'undefined' 实际上会释放空间吗?

转载 作者:搜寻专家 更新时间:2023-10-31 23:31:13 26 4
gpt4 key购买 nike

我正在寻找一种明确的方法来确保 JavaScript 垃圾收集器能够很快完成它的工作。

那么将变量设置为 undefined 是一种保证吗?

var foo = "something";
// do stuff with foo

foo = undefined;
// awake the Garbage Collector interest to him

最佳答案

理论上不会,不会被垃圾回收。内存中仍有对该变量的引用。它包含未定义值的事实无关紧要。

将 RAM 想象成一个巨大的盒子。这些盒子在不同公司(UPS、FedEX 等)之间共享。每个邮箱都有一个地址,每个公司都会告诉一些中央应用程序“嘿,这个地址的邮箱正在被我使用”。因此,即使您清空或取消定义盒子,假设 UPS 和那个盒子之间仍然存在 1:1 的连接。就像你的 JS 解释器告诉你的操作系统(“嘿,xxx 的内存位置正在被我使用,不要将它分配给其他任何人”)。

它包含一个未定义值的事实并没有释放这个内存位置。您的操作系统不知道也不关心该内存位置中的内容,他知道它已分配给您的 JS 解释器,并且您的 JS 解释器将其链接到您的变量 foo

无论如何,您不应该为 JS 中的垃圾回收而烦恼。只要你在正确的地方创建你的变量并且不淹没全局对象(但即便如此我怀疑你会有很多问题)每个变量都会在它不能被垃圾收集时自动收集用过。

关于javascript - 将变量设置为 'undefined' 实际上会释放空间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48925369/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com