【总结】深拷贝的几种实现方式

深拷贝几种实现方式:

1、常规Js方法

function extendDeepCopy(obj,newobj){
    var newobj=newobj||{};
    for(var i in obj){
        if(typeof obj[i]=='object'){
            newobj[i]=(obj[i].constructor==="Array")?[]:{};
            extendDeepCopy(obj[i],newobj[i]);
        }else{
            newobj[i]=obj[i];
        }
    }
    return newobj;
}

2、jquery方法

jQuery.extend(true,target,obj);

3、json方法

var cloneObj=JSON.parse(JSON.stringify(obj));

缺点:丢失constructor,RegExp无法实现

posted @ 2017-09-07 20:58  爱笑的小飞象  阅读(1687)  评论(0编辑  收藏  举报