• 构造函数的五种继承方法


    1、使用call或apply绑定构造函数

    animal.apply(this.arguments)

    2、使用prototype属性

    Cat.prototype=new Animal();

    Cat.prototype.constructor=Cat;

    var cat1=new Cat("大毛","黄色");

    alert(cat1.species);//动物

    3、直接集成prototype属性

    function Animal(){}

    Animal.prototype.species="动物";

    Cat.prototype=Animal.prototype;

    Cat.prototype.constructor=Cat;

    var cat1=new Cat("大毛","黄色");

    alert(cat1.species);//动物

    4、利用空对象作为中介

    var F=function(){};

    F.prototype=Animal.prototype;

    Cat.prototype=new F();

    Cat.prototype.constructor=Cat;

    将上面的方法封装成一个函数,便于使用:

    function extend(Child.Parent){

    var F=function(){};

    F.prototype=Parent.prototype;

    Child.prototype=new  F();

    Child.prototype.constructor=Child;

    Child.uber=Parent.prototype;

    }

    5、拷贝继承

    function extend2(Child.Parent){

      var p=Parent.prototype;

     var c=Child.prototype;

    for(var i in p){

         c[i]=p[i];

    }

    c.uber=p;

    }

    这个函数的作用,就是将父对象的prototype对象中的属性--拷贝给Child对象的prototype对象

  • 相关阅读:
    刘志博 作业 2.15
    刘志博 作业2.6
    作业一
    2.6
    张靖悦
    java 2.15
    java 2.6
    java 1.12
    java 1.8
    java 1.3
  • 原文地址:https://www.cnblogs.com/zzp0320/p/7245138.html
Copyright © 2020-2023  润新知