JS补充17-深度克隆

2018-08-13  本文已影响0人  常婧帅

1.遍历对象    for(var prop in obj)

2.判断是不是原始值typeof() object

3.判断是数组还是对象  方法有:instance  tostring  constructor

4.建立相应的数组或对象

5.递归

function deepClone ( origin, target){

        var target= target ||{};

                tostr = object. prototype. toString,

                arrstr="[object Array]";

        for( var prop  in origin){

                if( origin. hasOwnProperty(prop)){

{

                    if( typeof( origin[ prop])== object){

                if( tostr. call( origin[ prop])== arrstr){

                      target[ prop]=[];

} else{

                      target[ prop]={};

}

deepClone( origin[ prop], target[ prop]);

} else{

            target[ prop]= origin[ prop];

}


}

}

}

上一篇 下一篇

猜你喜欢

热点阅读