function f(obj={}){
//判断 obj不等于对象或者等于空直接返回
if(typeof obj !=='object'||obj==null){
return obj
}
//初始化值
var a
if(obj instanceof Array){ //判断用instanceof 判断obj如果是对象的话就返回一个对象
a=[]
}else{
a={}
}
for (var key in obj){ //然后用for in循环 循环出key值
//判断不是原型是数据
if(obj.hasOwnProperty(key)){
a[key]=f(obj[key])
}
}
return a
}