深拷贝
function deepCopy(obj, newobj) {
for (var k in obj) {
var item = obj[k];
if (item instanceof Array) {
newobj[k] = [];
// for (var m in item) {
// var item01 = item[m];
// if (item instanceof Array) {
// } else if (item instanceof Object) {
// } else {
// newobj[k][m] = item01
// }
// }
// 函数递归
deepCopy(item, newobj[k]);
} else if (item instanceof Object) {
newobj[k] = {};
deepCopy(item, newobj[k]);
} else {
newobj[k] = item;
}
}
}
var obj01 = {};
deepCopy(obj, obj01);
// JSON 方法
var obj02 = JSON.parse(JSON.stringify(obj));
console.log(obj02 == obj);
浅拷贝
// 直接赋值
var obj03 = obj;
console.log(obj03 == obj);
// for 循环
var obj04 = {}
for (var k in obj) {
obj04[k] = obj[k];
}
// Object.assign() 方法实现浅拷贝
var obj4 = {};
Object.assign(obj4, obj);
// 扩展运算符
var obj5 = {
...obj
};