function deepClone(obj){ //如果是值类型 或者为null ,则直接 return if(typeof obj !== 'object' || obj=== null){ return obj } //定义结果对象 let copy ={} //如果 对象是数组,则定义结果数组 if(obj.constructor === Array){ copy = [] } //遍历对象key for(let key in obj){ //如果key是自有属性 if(obj.hasOwnProperty(key)){ //递归调用拷贝方法 copy[key] = deepClone(obj[key]) } } return copy; }