JS---对象的深拷贝
Posted 有挫败才有成长
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS---对象的深拷贝相关的知识,希望对你有一定的参考价值。
<script type="text/javascript"> // 给每个对象定义一个深拷贝函数 var deepCopy=function() { var t={}; for(var k in this){ //对于当前对象中的每个属性,判断其是否为引用类型 if(typeof this[k]===‘object‘){ t[k]=this[k].deepCopy();//如果是引用类型,执行深拷贝 }else{ t[k]=this[k];//如果不是,直接拷贝其属性 } } return t;//返回深拷贝后的对象 } var car={name:‘Benz‘}; car.deepCopy=deepCopy;//给car对象添加deepCopy方法 var p1={name:‘Tom‘,age:19,car:car}; p1.deepCopy=deepCopy;//给p1对象添加deepCopy方法 var p2=p1.deepCopy(); p1.name=‘Json‘; p1.age=20; p1.car.name=‘Audi‘; console.log(p1); console.log(p2); </script>
以上是关于JS---对象的深拷贝的主要内容,如果未能解决你的问题,请参考以下文章