例如,我们已经有3个"类" (功能): Fruit< = Apple< = GreenApple。因此Apple继承自Apple和GreenApple继承自Apple。 (在实例上使用原型)。 所以,如果我理解正确:" fruit.prototype"是一个对象," apple.prototype"是一个水果和" greenApple.prototype"是一个" Apple"? 因此,考虑到这一点,我有以下问题:
什么意思" Apple.prototype"在" Apple.prototype.getInfo" ???:
function Apple (type) {
this.type = type;
this.color = "red";
}
Apple.prototype.getInfo = function() {
return this.color + ' ' + this.type + ' apple';
};
再说一遍:对我来说,Apple的原型是Fruit(Apple.prototype == Fruit),但是在上面的代码中我们看到它使用了另一种方式,所以这里的Apple.prototype是什么? 如果我们得到Apple的新实例。
var greenApple = new GreenApple('apple1');
如果GreenApple类中没有getInfo方法,那么它应该看看greenApple.prototype(Apple),但是在Apple.prototype中声明了getInfo(它是什么)??
最后: 有什么区别:
Apple.prototype.getInfo = function(){*_*}
和
Apple.getInfo = function() {*_*}
答案 0 :(得分:2)
Apple的原型是Fruit(Apple.prototype == Fruit)
没有。 “Apple的原型 a Fruit”并不意味着“Apple的原型是Fruit”
前者意味着
Apple.prototype instanceof Fruit
后者意味着
Apple.prototype === Fruit