Sorry für Dump Frage: Ich bin zu js. Ich möchte f2()
Funktion in D
„Klasse“ außer Kraft zu setzen. Aber aus irgendeinem Grund sagte mir Fire Fox: "Zu viel Rekursion". Könnten Sie mir bitte zeigen, wo die Rekursion stattfindet und wie dieser Code wie erwartet funktioniert?JS Vererbung Beispiel: zu viel Rekursion
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));
Ich bin neugierig, warum Sie ES5 Prototyp Ketten befinden sich im Studium so intensiv (basierend auf diesem und mindestens einem ot ihre Frage von dir habe ich beantwortet). Die oben genannte Funktion "vererben" ist veraltet. Ab ES2015, gibt es eine einfache, klare, deklarative Syntax für diese, und dass Syntax kann für ältere Umgebungen transpiled werden, die es noch nicht unterstützen. In dieser Syntax ist es viel einfacher zu verstehen. Das Studium dieser veralteten Methode scheint also nicht optimal zu sein. –
* (nicht meine dv ...) * –
Danke sehr, Ihre Antworten sind sehr hilfreich! Ich besuchte ein Training über klassische oop-Muster in js und wir wurden gebeten, es in zwei Arten ES5 und ES2015 zu implementieren. Aber ich sehe, was du sagst, es macht Sinn und macht die Welt, die ich gerade kenne, klarer. –