Einen wunderschönen guten Abend,
Heute stehe ich vor einem neuen Verständnisproblem:
Mit dem folgenden Code möchte ich die OOP in JavaScript beherrschen lernen:
So und nun habe ich folgende Probleme:
1. Bei der Verwendung der Methode erhalte ich ständig die Fehlermeldung: "DieAutoIndustrie.js:77 Uncaught TypeError: Cannot read property 'name' of undefined".
Ich möchte den Namen des Objektes nachträglich, durch die Methode, verändern.
2. Wie schreibt man die Funktionen Syntax gerecht in JS? Ich habe manche gesehen Die nach der Methodendefinition bei der letzten geschweiften Klammer ein Semikolon setzen. Andere schreiben da nichts. JS aber schreibt da keine Fehlermeldung aus?!
Heute stehe ich vor einem neuen Verständnisproblem:
Mit dem folgenden Code möchte ich die OOP in JavaScript beherrschen lernen:
Code:
//Benutzerdefinierte Klasse zur erstellung von Objekten mit Parameterübergabe:
function fahrzeug(model, farbe, hgs, ps, plaetze){
//this.aussehen = url('../Bilder/fahrzeug96px'); Wie gebe ich Objekt ein Bild?
this.Model = model;
this.Farbe = '#' + farbe;//rgb Angabe!
this.Hoechstgeschwindigkeit = hgs;
this.AktuelleGeschwindigkeit = 0;
this.AktuelleFahrrichtung = "";//Wohin das Auto derzeit schaut.
this.PS = ps;
this.Sitzplaetze = plaetze;
//Startposition des Objektes auf einer Plattform, wie <canvas>:
this.StartpositionX = 0;
this.StartpositionY = 0;
//Test Variable um Fehler zu finden:
this.blub = 2;
console.log("Neues Auto wurde erstellt");
//Methoden der einzelnen Objekte:
fahrzeug.bewegen = {
fahrenVorwaertz: function(){
fahrzeug.StartpositionX += 1;
fahrzeug.StartpositionY += 1;
console.log("Vorwärts gefahren!");
},
fahrenRueckwaertz: function(){
fahrzeug.StartpositionX -= 1;
fahrzeug.StartpositionY -= 1;
console.log("Rückwärts gefahren!");
},
nachLinksDrehen: function(){//Wie bekomme ich mein Fahrzeug gedreht?
fahrzeug.StartpositionX = 0;
fahrzeug.StartpositionY = 0;
}
//Nach der definition der Methoden muss nach dem schließen der letzten Funktion ein Semikolon.
}
//Eine neue Methode wird einfach dran gehangen:
fahrzeug.eigenschaftVeraendern = {
neuesModel: function(nModel){
fahrzeug.Model = nModel;
},
neueFarbe: function(neueFarbe){
fahrzeug.Farbe = neueFarbe;
},
neueHoechstgeschwindigkeit: function(neueHoechstgeschwindigkeit){
fahrzeug.Hoechstgeschwindigkeit = neueHoechstgeschwindigkeit;
},
neuesBlub: function(nBlub){
fahrzeug.blub = nBlub;
}
}
}
var vwGolf = new fahrzeug('Golf', 422788211, 210, 144, 5);
var fahrzeugInfo2 = document.getElementById("Auto2");
console.log(vwGolf.Model)//Golf
fahrzeugInfo2.innerHTML = vwGolf.eigenschaftVeraendern.name('blaaa');
1. Bei der Verwendung der Methode erhalte ich ständig die Fehlermeldung: "DieAutoIndustrie.js:77 Uncaught TypeError: Cannot read property 'name' of undefined".
Ich möchte den Namen des Objektes nachträglich, durch die Methode, verändern.
2. Wie schreibt man die Funktionen Syntax gerecht in JS? Ich habe manche gesehen Die nach der Methodendefinition bei der letzten geschweiften Klammer ein Semikolon setzen. Andere schreiben da nichts. JS aber schreibt da keine Fehlermeldung aus?!