javascript - 在Nodejs中重新分配变量时,存储旧变量的内存是否会空闲?
问题描述
在下面的代码中
a = 1
b = {"a": a} // this output {"a": 1}
a = 2
console.log(b) // this still output {"a": 1}
1
在这种情况下,将变量重新分配给 2 时,存储内容的内存是否会空闲?
解决方案
变量在销毁之前不会丢失其内存空间。
当你写
a = 1
b = {"a": a}
a 的值分配给对象b的节点。变量未绑定到节点。如果要将节点 a 更新为新值,可以执行以下操作:
b.a = 2;
console.log(b.a); //will print 2