let lili = {
name : 'lili',
age : 12,
scores: null,
friends: ['jack','rose'],
adress : {
province : 'sichuan',
city : 'chengdu',
},
}
function clone(obj){
let newObj = {}
for(let key in obj){
newObj[key] = obj[key]
}
return newObj
}
let lili2 = clone(lili)
console.log(lili2 === lili)
lili2.adress.city = 'shanghai'
console.log(lili.adress.city)
function cloneDeep(obj){
if(obj === null){
return null
}
if({}.toString.call(obj) === '[object Array]'){
let newArr = []
newArr = obj.slice()
return newArr
}
let newObj = {}
for(let key in obj){
if(typeof obj[key] !== 'object'){
newObj[key] = obj[key]
}else{
newObj[key] = cloneDeep(obj[key])
}
}
return newObj
}
let lili3 = cloneDeep(lili)
lili3.adress.province = 'hehnan'
console.log('lili3: ', lili3)
console.log(lili.adress.province)