javascript - 如果变量从未使用过,它会自动从内存中释放吗?

标签 javascript variables memory-management garbage-collection v8

出于好奇,如果我要像这样在 JavaScript 中设置一个变量:

var name = "Mango";

然后从不引用它,如果JavaScript发现它从未被使用过,它会“自动”从内存中释放该变量,或者会这一切都被忽略了,就不会发生什么?

提前谢谢您。

最佳答案

它不会被删除,请记住 JavaScript 永远不会“向前看”。
它永远不会跟踪将来会使用什么。
就 JavaScript 所知,您可以打开开发人员的控制台(假设这是针对浏览器的)并注入(inject)使用 mango 的代码。
一般来说,JavaScript 只会删除永远无法到达的东西。

例如,如果您要执行:

name = "Hi";

字符串“Mango”将被自动删除,因为没有引用它,Source .

关于javascript - 如果变量从未使用过,它会自动从内存中释放吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37775916/

相关文章:

Javascript/HTML 图像更改

javascript - jquery选择器语法问题

linux - Malloc 在 64 位 Ubuntu 机器上失败

java - 静电不好吗?如何删除静态变量?

ios - 将Objective-C block 传递给performSelector:withObject:afterDelay:是否安全?

memory-management - malloc 不保证返回物理上连续的内存

ember-cli 配置/环境中的 Javascript 对象

javascript - 如何更新iframe的高度?

javascript - 如何将java变量传递给javascript

iOS如何从 block 中获取变量值?