深拷贝,拷贝出来的数据和元数据是完全独立,不受引用的影响:
deepClone(parentObj, childObj) {
if (!parentObj || typeof parentObj !== 'object') {
return parentObj; //若果不是对象 直接返回
}
childObj = childObj || (Array.isArray(parentObj) ? [] : {})
try {
for (let i in parentObj) {
if (parentObj.hasOwnProperty(i)) {
childObj[i] =
typeof parentObj[i] === 'object'
? this.deepClone(parentObj[i], childObj[i])
: parentObj[i]
}
}
} catch (e) {
console.error(e)
}
return childObj
},