js实现对象的深拷贝

94 阅读1分钟

对象拷贝在项目中使用一般使用的两种方式

(一)对象的深拷贝函数实现

function deep(dest,obj){ 
    var newObj=dest;
    for(var key in obj){ 
        if(typeof obj[key] == "object"){ 
             newObj[key]=(obj[key].constructor==Array)?[]:{}; 
             deep(newObj[key],obj[key]) //进行递归 
         }else{ 
             newObj[key]=obj[key] 
         } 
     } 
 }

(二)在对象中嵌套层级较深的时候拷贝

通过JSON.parse(JSON.stringify(obj))