面向对象(3)继承

本文详细介绍了JavaScript中对象的克隆方法,包括for...in循环和Object.create(),以及对象继承的各种方式:原型继承、call继承、冒充对象继承、混合继承、组合继承和中间类继承,深入解析每种方法的特点和应用场景。

                                             面向对象(3)继承

1.克隆对象

 var obj={

    name:"zhang";

    age:23;

}

  var obj2=obj

  这种写法不是对象克隆,就是把obj的内存地址赋值给obj2

 (1)通过for in克隆,不管是公有的还是私有的都克隆成私有的

    var obj={

      name:"zhang"

      age:23

}

  var obj2={};

  for(var key in obj){

    obj2[key]=obj[key]

}

  console.log(obj2)

  (2)js提供了一个克隆的方法 Object.create()

    var obj2=Obj.create(obj)  将obj的所有属性克隆到obj2的原型上

    

 

2.对象的继承

  (1)原型继承:将父类的实例赋值给了子类的原型

     

    这就是原型继承,激昂父类的私有和公有都继承在子类的原型上,成为子类的公有属性

  (2)call继承  将父类私有的继承为子类私有的

     

  (3)冒充对象继承  将父类私有的和公有的都继承为子类私有的

     

  (4)混合继承  私有的继承为私有的,公有的和私有的再次继承为公有的

      混合继承是call和原型继承的结合  私有的被继承了两次

     

  (5)组合继承  私有的继承为私有的,公有的继承为公有的

     

  (6)中间类继承

       

     arguments不是一个数组,没有array的那些自带的方法,现在我们想arguments有array的那些方法,将arguments的原型执行array内置类的原型

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/yuanjingjing/p/10218930.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值