Hi,
function Motor(l, z, k) { this.leistung = 1;
hier zeigt sich, warum ein einzelnes kleines Ell ungeeignet ist als Variablenname. Wird zu leicht mit einer 1 verwechselt. Das Syntaxhighlighting hier verrät es …
function fahrzeugAusgeben() { return "Farbe: " + this.farbe + ", Geschwindigkeit: " + this.geschwindigkeit; }
Wie soll der Motor ausgegeben werden, wenn da nichts dafür gemacht wird? Es wird nur Farbe und Geschwindigkeit ausgegeben.
function Fahrzeug(f, g) { this.farbe = f; this.geschwindigkeit = g; this.toString = fahrzeugAusgeben; } var dacia = new Fahrzeug("Silber", 50, new Motor(60, 4, "Diesel")); document.write(dacia + "<br>");
Du übergibt einen Motor (3. Parameter) an das Fahrzeug, aber das Fahrzeug ist umweltfreundlich und will gar keinen Motor haben (der Konstruktor hat nur 2 Parameter), und baut ihn schon gar nicht ein (keine Zuweisung an eine Eigenschaft).
cu,
Andreas a/k/a MudGuard