javascript深拷贝与浅拷贝实例操作

浅拷贝简单来说就是拷贝一层,如果改变值,也会影响原来拷贝的对象;

深拷贝就是拷贝多层,不会影响原来的。

浅层拷贝

var obj={

id:1,

name:andy,

msg:{

        age:18,

    }

color:['pink','blue;]

};

var o={}

obj.assign(o,obj);

console.log(o);


深层拷贝

function deepCopy(newobj,oldobj){

for(var k in oldobj){

var item=oldobj[k];

if(item instanceof Array){

    newobj[k]=[];

deepCopy(newobj[k],item)

        }else if(item instanceof Object){

    newobj[k]={};

deepCopy(newobj[k],item)

        }else{

    newobj[k]=item;

        }

    }

}

deepCopy(o,obj);

console.log(o);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容