我知道在javascript对象中是通过引用传递的,这意味着例如以下代码:
var obj = {'a' : 10};
var obj2 = obj;
obj2.a = 20;
console.log(obj.a);
输出20,因为obj2和obj都是对同一对象的引用。然后,如果我有这个:
var obj = {'a' : 10};
var obj2 = {'b' : 20};
obj = obj2;
假设我所做的是创建两个对象,其中“ obj”是第一个对象的引用,而“ obj2”是第二个对象的引用。在“ obj = obj2”行中,因为两者都是对对象的引用,所以据说发生的是obj不再引用第一个对象,而是现在引用了第二个对象。但是,除非在后台进行一些优化,否则两个对象本身都保持不变,而我们只是丢失了对第一个对象的引用。是第一个对象自动从内存中删除,还是我正在寻找类似于C ++中的内存泄漏的东西?