深拷贝案例

 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)

转载于:https://www.cnblogs.com/shangjun6/p/10375047.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值