var a = {n: 1}
var b = a;
a.x = a = {n: 2}
console.log(a.x);
console.log(b.x)
解析这个题,首先我们得知道 a=[1,2,3] ,b= a; a= [1,2,3,4,5];
a = [1,2,3,4,5];b=[1,2,3];这个时候大家会有点纳闷,引用类型不应该是b等于a的值应该是[1,2,3,4,5];这个是错误的,这个是有开辟一个内存,让a指向[1,2,3,4,5];如果是a.push(4),则a和b是相等的。
那个这个题是先运算符的优先级,.的运算符最高,然后执行从右往左执行。
a = {n:2};
b ={x:{n:2},n:1}