1 个回答

微信截图_20200527125340.png
稍微画个示意图。object这种数据是存储在堆里的。而变量存储的是这份数据对应的内存地址,也就是别的语言里的指针的概念。而b=a相当于拷贝这个内存地址的值,实际指向的是同一份数据。
在第三步的赋值里是这样的 a.x = a = {n: 2}; 这里a.x实际就是堆中的 为n:1这份数据增加n:2;

推荐问题