第十五天:对象的深度克隆
<h4>对象的深度克隆</h4>
<pre><code class="language-javascript">function clone(Obj){
var buf ;
if(Obj instanceof Array){
buf = []; //创建一个空的数组
var i = Obj.length;
while(i--){
buf[i] = clone(Obj[i])
}
return buf ;
}else if(Obj instanceof Object){
buf = {} ;
for(k in Obj){
buf[k] = clone(Obj[k])
}
return buf ;
}else{
return Obj
}
}
let a = {
name : 'judy',
age : 18
}
let b = clone(a);
console.log(b) //{name:'judy',age:18}
a.name ='wayne' ;
console.log(b.name)//'judy'
console.log(a)//{name:'wayne',age:18}</code></pre>