原理是就遍历对象所有属性,result[key] = typeof obj[key]===’object’? deepCopy(obj[key]): obj[key];这句很关键,因为不知道对象的属性是否为对象,如果是对象则必须要递归调用本身才可以进行深度拷贝。
function deepCopy(obj) {
var result={}; //对象容器用户存储拷贝对象并返回
for (var key in obj) {
//判断对象属性是否为对象,如果是对象则递归调用,如果不是则复制属性
result[key] = typeof obj[key]===’object’? deepCopy(obj[key]): obj[key];
}
return result;
}