Javascript可以做一些显式/手动内存操作吗?

时间:2014-03-17 00:22:44

标签: javascript

在C中,如果我不需要某些特定的内存区域,我可以手动删除这样的内存区域。我想知道Javascript,我可以做同样的事情。

或者我是否可以利用一些虚拟内存接口。

2 个答案:

答案 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;