js深拷贝和浅拷贝的区别

128 阅读1分钟

浅拷贝是拷贝了对象的引用,当原对象发生变化的时候,拷贝对象也跟着变化;

深拷贝是另外申请了一块内存,内容和原对象一样,更改原对象,拷贝对象不会发生变化

//引用数据类型:Object、Array、Function、RegExp、Date等
//淺拷貝
var obj1 = {
 a: 1;
     b: 2;
};
var obj2 = obj1;
obj2.a=3;
console.log(obj1.a); //3
console.log(obj2.a); // 3

//深拷貝
//1.(1)JSON.parse(JSON.stringify())
//將對象轉換成字符串再轉對象
//只能轉Object和Array