一个简单的代码段实现深拷贝
function deepClone (obj) {
if (typeof obj !== 'object' || obj==null) return obj
let result
if (obj instanceof Array) {
result = []
} else {
result = {}
}
for(let key in obj) {
if (obj.hasOwnProperty(key)) { // 判断key是不是obj自身的属性,是返回true
result[key] = deepClone(obj[key])
}
}
return result
}
注意:JSON.parse(JSON.stringify(obj))也可以实现深拷贝