Node.js会进行自动垃圾收集吗?
var objUser = new Object ();
objUser.userName = objReq.userName;
userDB.registerUser (objUser , callback) ;
在上面的代码中,我有“objUser”,它将作为参数传递给另一个类,并且在当前类中不再需要它。不过,我是否应该强行收集它,还是会自动收集它。
要手动执行,Will NULL会帮助还是Node Framework提供的其他机制?
objUser = null;
答案 0 :(得分:3)
Node执行垃圾回收,但如果userDb.registerUser()
保留对它的引用,则会收集{em} 。只有当没有对象的引用仍然存在时,它才会被收集。您通常不需要通过将objUser
赋值给变量来显式释放本地引用 - 当函数返回时,所有本地引用都会自动释放。您只需要担心对象的全局引用。
答案 1 :(得分:0)
另外值得注意的是这个问题:根据我的经验,相同类型的对象将重用实例。所以,如果你真的想要一个对象的“新实例()”,请确保你取消或重置你的构造函数中的任何属性