深度克隆
Posted fhzm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度克隆相关的知识,希望对你有一定的参考价值。
function deepClone(orign,target){ // 1判断是不是原始值 // 2,判断是数组还是对象选用toString的原因是因为instanceof和constructor有一个父子域的问题 // 3,建立相应的数组或对象 var target=target||{}, toStr=Object.prototype.toString, arrStr="[object Array]"; for(var prop in orign){ if(orign.hasOwnProperty(prop)){ if( orign[prop] !=="null" && typeof(orign[prop])==‘object‘){ if(toStr.call(orign[prop]==arrStr){ target[prop]=[]; }else{ target[prop]={}; } deepClone(orign[prop],target[prop]); }else{ target[prop]=orign[prop]; } } }
return target }
以上是关于深度克隆的主要内容,如果未能解决你的问题,请参考以下文章