关闭

javaScrip类构造函数的几种继承方法

90人阅读 评论(0) 收藏 举报
js类的构造函数继承:
1 apply方法:
              function Cat(name,color){
    Animal.apply(this, arguments);
    this.name = name;
    this.color = color;
  }
2 prototype

  Cat.prototype = new Animal();

  Cat.prototype.constructor = Cat;

  var cat1 = new Cat("大毛","黄色");
      
       alert(cat1.species); // 动物

//把Cat的皮肉totype赋值给Animal,再把Cat.prototype.constructor赋值给Cat

3 prototype直接等于父类的prototype

  function Animal(){ }

  Animal.prototype.species = "动物";

  Cat.prototype = Animal.prototype;


  Cat.prototype.constructor = Cat;

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

  alert(cat1.species); // 动物
//     缺点,Cat的prototype和Animal的占用同一块内存空间,修改一个其它也会被修改

//     可以在其中新生成一个空的函数,作为中继

    var F = function(){};

    F.prototype = Parent.prototype;

    Child.prototype = new F();

    Child.prototype.constructor = Child;

    Child.uber = Parent.prototype;

4 直接把父类的元素拷贝到子类里

    var p = Parent.prototype;

    var c = Child.prototype;

    for (var i in p) {

      c[i] = p[i];

      }
    c.uber = p;

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2986次
    • 积分:61
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档
    最新评论