原因

我们想要实现的效果是当将A变量赋值给新的B变量时操作B变量而不影响A变量,但这种做法其实是通过浅拷贝copy出一份数据变成两份一样的基础数据,但是B=A的方式只是将B指向A的存储地址,实际上只有同一份数据,因此无论修改A还是B都是会互相影响的。

解决方案

先用JSON.stringify()从A对象中解析出字符串,再用JSON.parse()将解析出的字符串转换成JSON对象,这样可以得到两份一样的数据且操作B变量不会影响到A变量

const B变量 = JSON.parse(JSON.stringify(A变量))

暂无标签

选择表情