たとえば、3つの「クラス」(関数)があります。 フルーツ< = Apple < = GreenApple。 AppleはFruitから継承し、GreenAppleはAppleから継承します。 (インスタンスのプロトタイプを使用)。 正しく理解していれば、 "fruit.prototype"はオブジェクト、 "apple.prototype"は果物、 "greenApple.prototype"は "Apple"です。 "Apple.prototype.getInfo" の "Apple.prototype" を意味するもの「プロトタイプにメソッドを追加する」とはどういう意味ですか?
???: だから、これを考慮、私は、次の質問を持っている
function Apple (type) {
this.type = type;
this.color = "red";
}
Apple.prototype.getInfo = function() {
return this.color + ' ' + this.type + ' apple';
};
再び:私にとっては、Appleのプロトタイプフルーツ(Apple.prototype == Fruit)ですが、上のコードでは別の方法を使用していますので、Apple.prototypeとは何ですか? Appleの新しいインスタンスを取得した場合。
var greenApple = new GreenApple('apple1');
とGreenAppleクラスにはGETINFO方法がない場合、それはgreenApple.prototype(アップル)を見てすることがありますが、GETINFOはApple.prototypeで宣言された(それ何である)??
最後に: の間にどのような違い:
Apple.prototype.getInfo = function(){*_*}
と
Apple.getInfo = function() {*_*}
を意味し、 "Appleのプロトタイプは、フルーツです
」を意味するものではありません"私たちはAppleの新しいインスタンスを手に入れます。 var greenApple = new GreenApple( 'apple1'); Appleクラスから継承するクラス GreenAppleクラスに「getInfo」メソッドがない場合、greenApple.prototype(Apple)が表示されますが、** Apple.prototype **(what is it)でgetInfoが宣言されます。 ?? –
いいえ、 'greenApple.prototype'は' Apple'のインスタンスであり、 'Apple'自体ではありません。だから、単にApple.prototype'から継承した、いくつかのメソッドやプロパティを持つオブジェクトです。 – Oriol
しかし、Apple.prototype === Fruit'ではなく、 'Apple.prototype'から継承することはできますか?私はそれがAppleから直接継承されていると思った。そこで、私の質問があります:** Apple.prototypeは何ですか?それは 'フルーツ'なのでしょうか?** –