JS day17—继承

1.继承:

        在编写代码时,有些对象会有方法(函数),如果把这些方法都放在构造函数中声明就会导致内存的浪费。则需要继承来提高代码的复用性。

2.原型继承:

        就是子对象自动拥有父对象的属性和方法, 继承可以提高代码的复用性。

 function Animal(name){
        this.name=name;
    }
    Animal.prototype.eat=function(){
        console.log("Animal eat");
    }

    function Human(id){
        this.id=id;
    }
    //如何实现原型继承:
    //让子类的原型对象等于父类的任意实例化对象

    Human.prototype=new Animal("呆毛");

    //实现继承的作用:
    // 1.子类可以直接使用父类派生的属性和方法。
    // 2.子类可以添加自己新的属性和方法
    Human.prototype.study=function(){
        console.log("Human study");//子类添加的新的方法
    }

    let h=new Human(1);
    console.log(h.name);//呆毛
    h.eat();//Animal eat

    console.log(h.id);//1
    h.study();//Human study

2.1原型链:

        JS里的继承主要依靠是的原型链。让原型对象(每一个构造函数都有一个原型对象)的值,等于另一个类型的实例,即实现了继承;另外一个类型的原型再指向第三个类型的实例,以此类推,也就形成了一个原型链

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值