var a = {n: 1}; var b = a; a.x = a = {n: 2}; console.log(a.x); console.log(b.x); 有道题是这样的,觉得很奇葩,分析一下 1.对象 引用类型 对象属于引用类型,c,java,js里面都是的,对象就是引用类型,包括数组. 上面的a是引用类型,a保存的是对象 {n: 1}的地址,对这个对象的引用.b = a .把a里面的地址赋值给了b,b也指向{n: 1}这个对象的物理地址.所以,a 一旦做赋值更改,修改的是a对引用的修改…