在C中,如果我不需要某些特定的内存区域,我可以手动删除这样的内存区域。我想知道Javascript,我可以做同样的事情。
或者我是否可以利用一些虚拟内存接口。
答案 0 :(得分:1)
没有。你也不应该需要"至。 Javascript管理内存,不公开其实现。
(这对垃圾收集,特别是停止和复制品种等非常有用。)
只要您没有对象的引用,Javascript就可以释放该内存。它们实际释放内存的频率(也就是垃圾收集)的实现方式各不相同,但是如果你的内存不足,那么它们肯定会这样做。
var a = {a: 1};
// can't garbage collect {a: 1}
a = null;
// can garbage collect {a: 1}
var b = {b: 1};
// can't garbage collect {b: 1}
var c = b;
// can't garbage collect {b: 1}
b = null;
// can't garbage collect {b: 1}
c = null;
// can garbage collect {b: 1}
也许你应该问一个更高层次的问题,关于你想要完成什么。
答案 1 :(得分:1)
Javascript不允许您手动清除内存。当你为它做的时候,你不应该担心它。
另一方面,当没有对该内存的引用时,javascript会清除已用内存。你所能做的就是削减这些参考。让我们说:
var x = some object;
x = null;