3.深拷贝:如果对象中的属性值又是一个引用数据类型,浅拷贝也能实现,浅拷贝还是把引用数据类型的内存地址赋值给空的对象的一个属性,深拷贝将属性值也一个一个遍历赋值;冒充对象继承就是拷贝继承
案例:
var obj={
name:"张三",
arr=[12,20,36]
sex:{
y:12,
x:24
}
}
var obj2={}
function extend(oldobj,newobj){
for(var key in oldobj){
var item=oldobj[key] //遍历每个属性的属性值
if(item instanceof Array){
newobj[key]=[]
extend(item,newobj[key])
}
else if(item instanceof Object){
new[key]={}
extend(item,newobj[key])
}
else{
newobj[key]=item
}
}
extend(obj,obj2)