function deepClone(targetObj) {
let type = Object.prototype.toString.call(targetObj);
let newObj;
if (type === "[object Object]") {
newObj = {};
} else if (type === "[object Array]") {
newObj = [];
} else {
return targetObj;
}
for(key in targetObj) {
let value = targetObj[key];
newObj[key] = deepClone(value);
}
return newObj;
}
参考文章: