0
ダンプに関するご質問は申し訳ありません。私はf2()
の機能をD
"class"に上書きしたいと思います。しかし何らかの理由でFire Foxが私に言った: "あまりにも多くの再帰"。再帰が起こる場所と、このコードを期待通りに動作させる方法を教えてください。JS継承の例:再帰が多すぎます
var B = function() {
};
B.prototype.f2 = function (x) {
return 2 * x;
};
var C = function() {
B.call(this);
};
var D = function() {
C.call(this);
};
D.prototype.f2 = function (x) {
return C.prototype.f2.call(this, x) * 7;
};
inherit(B, C);
inherit(C, D);
function inherit(Child, Parent) {
Child.prototype = Object.create(Parent.prototype);
Child.prototype.constructor = Child;
}
var d = new D();
console.log(d.f2(3));
私は(興味これに基づいて、少なくとも1つのot彼女のあなたの質問は私が答えた)。上記の '継承'関数は時代遅れです。 ES2015では、このためのシンプルで明確な宣言的な構文があり、それをまだサポートしていない古い環境でもその構文を単純化することができます。 **その構文で理解するのはずっと**簡単です。だから、この古い方法を研究することは、最適ではないようです。 –
*(not my dv ...)* –
ありがとう、あなたの答えは非常に有用です!私はjsの古典的なoopパターンについての訓練に出席し、私たちはES5とES2015の2つの方法でそれを実装するように求められました。しかし、私はあなたが言っていることを見ている、それは理にかなって、jsの世界を作り、私がちょうど知り合いになった、より明確になる。 –