/* 关于js的引用问题 */ // 1 var a = {n:1}; var b = a a.n = 2; console.log(a,b) // a,b 相同,引用的内存地址一致,a被赋值的对象没有发生改变,只是值发生了改变 a.s = 666; console.log(a,b) // a,b 与以上相同,a,b相同,因为值只是增加,并未改变内存地址 a = {p:1} console.log(a,b) // a = {p:1},b = {n:2,s:666},这个时候,a的值的内存地址发生改变,b并未改变 /* 关于.引用的问题 */ var x = {m:1} var y = x x.q = x = {m:2}