我有2个模块:
//a.js
var obj = {};
require ("./b")(obj);
obj = null;
//POINT P
//b.js
module.exports = function (obj){
obj = null
};
在P点,obj会成为垃圾收集的候选人吗?
编辑:好的,似乎Node.js只是缓存模块“metadata”(搜索function NativeModule
here),所以是的,obj将被垃圾收集。
答案 0 :(得分:1)
是的,第一个模块中的obj
与第二个模块中的obj
完全不同,后者只是一个参数。您使用名称“obj
”两次的事实没有任何区别。