vue深拷贝、浅拷贝
2020-04-26 本文已影响0人
指尖架构141319
1.浅拷贝
当一个对象赋给另一个对象时,修改另一个对象的值会影响前一个对象的值
let a = this.vehicleChange;
let b = this.vehicleCangeData;
b = a;
比如,此时如果修改b对象中的name,会同时吧a对象中的name修改掉
2. 深拷贝
this.vehicleChangeData = JSON.parse(JSON.stringify(this.vehicleChange));
JSON.stringify()对象转为串,JSON.parse()串转为对象,JSON操作是深拷贝操作
3. 原理
- 浅拷贝:新对象赋值,只是取的旧对象栈中的值,也就是引用对象的值
- 深拷贝:会在堆里边开辟一个空间,存放自己的对象值