共计 458 个字符,预计需要花费 2 分钟才能阅读完成。
1.JavaScript 递归实现对象深拷贝
JavaScript 递归实现对象深拷贝
function deepClone(origin,target){ | |
//target 是否存在如果不存在创建空对象 | |
let tar = target || {}, | |
// 判断是否为引用数据类型 | |
toStr = Object.prototype.toString, | |
arrType='[object Array]'; | |
for(let key in origin){ | |
// 剥离原型链的数据 | |
if(origin.hasOwnProperty(key)){ | |
// 判断是否为引用数据类型 对象或数组 | |
if(typeof(origin[key]) === 'object' && origin[key] !== null){if(toStr.call(origin[key]) === arrType ){tar[key] = [];}else{tar[key] = {};} | |
deepClone(origin[key],tar[key]); | |
}else{tar[key] = origin[key]; | |
} | |
} | |
} | |
return tar; | |
} |
正文完
发表至: javascript
2019-06-16