javascript对象深拷贝。

原理是就遍历对象所有属性,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; 
}

你可能感兴趣的:(javascript)