Node.js垃圾收集

时间:2012-09-08 08:17:19

标签: node.js

Node.js会进行自动垃圾收集吗?

var objUser         = new Object ();
objUser.userName    = objReq.userName;
userDB.registerUser (objUser , callback) ;

在上面的代码中,我有“objUser”,它将作为参数传递给另一个类,并且在当前类中不再需要它。不过,我是否应该强行收集它,还是会自动收集它。

要手动执行,Will NULL会帮助还是Node Framework提供的其他机制?

objUser = null;

2 个答案:

答案 0 :(得分:3)

Node执行垃圾回收,但如果userDb.registerUser()保留对它的引用,则会收集{em} 。只有当没有对象的引用仍然存在时,它才会被收集。您通常不需要通过将objUser赋值给变量来显式释放本地引用 - 当函数返回时,所有本地引用都会自动释放。您只需要担心对象的全局引用。

答案 1 :(得分:0)

另外值得注意的是这个问题:根据我的经验,相同类型的对象将重用实例。所以,如果你真的想要一个对象的“新实例()”,请确保你取消或重置你的构造函数中的任何属性