deep clone
function clone(obj){
let vv = null
if( typeof obj == 'object' && obj !== null ){
vv = obj instanceof Array ? [] : {}
for( let v in obj ){
vv[v] = clone(obj[v])
}
}
else{
vv = obj
}
return vv
}
let obj = {
a: 1,
b: 2,
c: {
aa: 11
}
}
let cloneObj = clone(obj)
cloneObj.a = 11
cloneObj.c.aa = 22
console.log(cloneObj, obj)