これは私の最初の投稿です!私はjavascriptの継承に関する簡単な質問があります。拡張機能を使用して
もちろん、 'extend2'メソッドは、for-inループを使用して親オブジェクトから子オブジェクトを継承するために使用されます。
var extend2 = function (child, parent) {
var c = child.prototype;
var p = parent.prototype;
for (var i in p) {
c[i] = p[i];
}
}
私は現在Stoyan Stefanovの "Object Oriented Javascript"を読んでいます。それは素晴らしい本です。
子供のプロトタイプオブジェクトが完全に上書きされたり置き換えられたりすることはありませんが、それは単に拡張されたものです。
オブジェクトが継承すると、extend2関数を使用して参照として参照するのではなく、プリミティブデータ型をコピーします。
これは本当にありがとうございます!
あなた 'extend2'が動作していませんStoyansとして。彼は両親**プロトタイプ**を反復し、すべてのプロパティを子**プロトタイプ**にコピーする(sic)。親プロトタイプを反復処理している間は、プロトタイプではなく、オブジェクト自体からプロパティをアクセスし、オブジェクトにコピーしようとします。 – bennedich
私の間違いは、私のコードを再編集します。 – user1120327