实现深拷贝函数 clone()
function deepClone(obj){
function isObject(o){
return (typeof o === 'object' || typeof o === 'function') && o !== null
}
if(!isObject(obj)){return obj}
let newObj = Array.isArray(obj) ? [] : {}
for(key in obj){
if(obj.hasOwnProperty(key)){
newObj[key] = isObject(obj[key]) ? deepClone(obj[key]) : obj[key]
}
}
return newObj
}
hasOwnProperty 判断该属性是否为对象的自有属性
没有什么是一蹴而就的。
浙公网安备 33010602011771号