const obj = {
uname:'pink',
age:20,
hobby:['蓝','足'],
family:{
baby:'oldpink'
}
}
const o = {}
function deepCopy(newObj,oldObj){
for(let k in oldObj){
//处理数组 k是属性名
//先判断Array
if(oldObj[k] instanceof Array){ //必须先判断数组然后判断对象,不能颠倒
newObj[k] = []
deepCopy(newObj[k],oldObj[k]) //此时的k指的是索引值
}else if(oldObj[k] instanceof Object){ //再判断Object,因为数组也属于Object
newObj[k] = {}
deepCopy(newObj[k],oldObj[k])
} else{
newObj[k] = oldObj[k]
}
}
}
deepCopy(o,obj)
console.log(o);
o.hobby = ['www']
o.family.baby = 'newpink'
console.log(obj);
</script>