function deepClone(obj = {}) {
if( typeof obj !== 'object' || obj === null || obj === undefined) {
return obj
}
let res
if(obj instanceof Array) {
res = []
} else {
res = {}
}
for(let key in obj) {
res[key] = deepClone(obj[key])
}
return res
}
let user = {
name: 'zs',
age: 14,
address: {
name: '哈哈哈'
},
school: {
address: '张家界'
}
}
let user1 = deepClone(user)
let user2 = {...user}
let user3 = Object.assign(user,null)
console.log('user1', user1)
console.log('user2', user2)
console.log('user3', user3)
user.address.name = '呵呵呵'
console.log(user1)
console.log(user2)
console.log('user3', user3)