微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.prototype与构造函数的Javascript继承

如何解决.prototype与构造函数的Javascript继承

有人可以告诉我为什么当构造函数对我来说如此轻松和友好时,我应该使用痛苦的.prototype方法

parrot.presentation()和parrot.secondPresentation()都可以工作。我只想知道是旧还是新,是否真的有1%的时间需要使用,我不知道,但我真的想了解或了解差异的一个很好的例子。

非常感谢

function Animal(name,paws,weight) {
  this.name = name;
  this.paws = paws;
  this.weight = weight;

  // By Constructor
  this.presentation = function() {
    console.log("I am a " + this.name + " and I have " + this.paws + " paws");
  }
}

// By .prototype
Animal.prototype.secondPresentation = function() {
  console.log("Hello,I use prototype to present myself: " + this.name + ",Now gtfo");
}
/////////

function Bird(name,wingLength,weight) {
  Animal.call(this,name,weight);
  this.wingLength = wingLength;
}

// By .prototyte
Bird.prototype = Object.create(Animal.prototype);
Bird.prototype.constructor = Bird;
////////

function Mammal(name,hairType,weight);
  this.hairType = hairType;
}

var parrot= new Bird("Parrot","large",2,"5kg");
console.log(parrot);

parrot.presentation();
parrot.secondPresentation();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。