function clone(data){
if(typeof data==='symbol'){ //Symbol
return Symbol.for(data.description);
}else if(typeof data!='object'){ //基本类型
return data;
}else if(data instanceof Array){ //Array
return data.map(item=>clone(item));
}else if(data.constructor===Object){ //Json
let res={};
for(let key in data){
res[key]=clone(data[key]);
}
return res;
}else{ //系统对象、自定义对象
return new data.constructor(data);
}
}