js继承的例子(pink老师的)

当创建两个构造函数Woman和Man,发现其中有大量的属性是一样的,如eyes:2,head:1.

解决方法:创建一个构造函数Person其中记录二者相同的属性,使两个构造函数的原型对象prototype分别指向各自创建的对象new Person()。(即子类原型对象=父类对象)

当要实现各自特有的方法时(如女生能生小孩),可以给对应构造函数中带有的原型对象prototype添加方法解决。

  // 构造函数  new 出来的对象 结构一样,但是对象不一样
    function Person() {
      this.eyes = 2
      this.head = 1
    }
    // console.log(new Person)
    // 女人  构造函数   继承  想要 继承 Person
    function Woman() {

    }
    // Woman 通过原型来继承 Person
    // 父构造函数(父类)   子构造函数(子类)
    // 子类的原型 =  new 父类  
    Woman.prototype = new Person()   // {eyes: 2, head: 1} 
    // 指回原来的构造函数(原来被覆盖了,constructor重新指向Woman)
    Woman.prototype.constructor = Woman

    // 给女人添加一个方法  生孩子(不同的对象Person里都有prototype属性)
    Woman.prototype.baby = function () {
      console.log('宝贝')
    }
    const red = new Woman()
    console.log(red)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值