JavaScript中直接给对象赋值和属性赋值有何区别

var c = objA.a;这句话表示把objA的属性a的值赋给变量c,因为objA.a是一个对象,结果就是变量c指向objA.a的对象。c = objB;这句话表示把objB赋给变量c,结果就是变量c指向objB的对象。所以两句话下来,对objA没有任何影响。
■网友
因为在JavaScript里,对象的“=”赋值只是地址的引用,因此,前面的你认为的赋值其实只是两次的改变了c所指向的地址而已,后面的那个,在已经引用了地址以后并对其值重新赋值,所以A变了。手机打的,望能理解
■网友
大兄弟你别干了,让这小伙子来!大兄弟你出一个哥们给我把这事儿办了!正题:第一个里面c是引用,重新赋值也就是取消了引用;第二个里是对c的引用赋予新的属性


    推荐阅读