浅拷贝与深拷贝
1、浅拷贝
var Persion = {
name: "Tom",
age: 12,
address: "云南省",
};
var o = {};
Object.assign(o, Persion);
console.log(o);
2、深拷贝
var obj = {
id: 1,
name: "andy",
msg: {
age: 18,
},
color: ["pink", "red"],
};
var o = {};
function deepCopy(newobj, oldobj) {
for (var k in oldobj) {
var item = oldobj[k];
if (item instanceof Array) {
newobj[k] = [];
deepCopy(newobj[k], item);
} else if (item instanceof Object) {
newobj[k] = {};
deepCopy(newobj[k], item);
} else {
newobj[k] = item;
}
}
}
deepCopy(o, obj);
console.log(o);
var arr = [];
console.log(arr instanceof Object);
o.msg.age = 20;
console.log(obj);