深度克隆
var obj = { name: 'lyz', info: { age: 24, score: [99, 100, 98] }, somke: null };
function deepClone_Es6(origin, target) {
if (Object.prototype.toString.call(origin) == '[object Object]') {
target = { ...origin };
} else {
target = [...origin];
}
for (var prop in target) {
if (typeof target[prop] == 'object' && target[prop] != null) {
if (target.hasOwnProperty(prop)) {
target[prop] = deepClone_Es6(target[prop]);
}
}
}
return target;
}
var obj2 = deepClone_Es6(obj);
obj2.name = 'ok';
obj2.info.age = 22;
obj2.info.score = 'no date';
obj2.somke = true;
console.log(obj2, obj);