1.区别:
2.深拷贝实现
Json序列化与反序列化:
function deepClone(obj){
let _obj = JSON.stringify(obj),
objClone = JSON.parse(_obj);
return objClone
}
缺点:
最佳实现:(类似lodash的cloneDeep)
function isArray(val) {
return Object.prototype.toString.call(val) === '[object Array]';
}
function isObject(val) {
return typeof val === 'object' && val !== null;
}
function deepCopy(obj2) {
var obj = isArray(obj2) ? [] : {};
for (var property in obj2) {
if (isObject(obj2[property])) {
obj[property] = deepCopy(obj2[property]);
} else {
obj[property] = obj2[property];
}
}
return obj;
}
3.浅拷贝实现