function clone(data){
if(typeof data !='object'){
return data //基本数据类型
}else if(data instanceof Array){
return data.map(item=>clone(item)) //数组递归
}else if(data.constructor === Object){
let res = {}
for(let key in data){
res[key] = clone(data[key])
}
return res //json
}else{
return new data.constructor(data); //系统对象,自定义对象
}
}
let a = [{a:10,b:20},{c:30,d:40}]
let b = clone(a)
b[0].a++
console.log(a)
console.log(b)