In JavaScript gibt es einfache Datentypen und Objekte. Einfache Datentypen können nur einfache Werte enthalten und haben keine Eigenschaften oder Methoden. In JavaScript gibt es folgende einfache Datentypen:
Alle anderen Konstrukte sind in JavaScript Objekte. Objekte können nicht nur Werte, sondern auch Eigenschaften und Methoden haben. So haben z. B. alle Felder die Eigenschaft „length“ mit der die Anzahl der Feldelemente ermittelt werden kann. In JavaScript gibt es folgende Objekte:
Außerdem gibt es in JavaScript noch vordefinierte Objekte wie z. B.:
Ein Objekt-Literal ist eine Folge von „Name:Wert“-Paaren innerhalb von geschweiften Klammern. Mit einem Obejkt-Literal kann ein Objekt erstellt, sowie dessen Eigenschaften und Eigenschaftswerte definiert werden:
HTML-Datei:
Ergebnis:
var person1 = {Vorname:"Max", Nachname:"Muster", Geburtsjahr:1978};
Ein Objekt kann auch mit dem Schlüsselwort „new“ und dem Standard-Konstruktor „Object()“ erstellt werden. Dabei wird ein leeres Objekt ohne Eigenschaften oder Methoden erstellt. Anschließend können dem Objekt Eigenschaften hinzugefügt werden, indem diese durch Punkt an den Objektnamen angehängt und ihnen ein Wert zugewiesen wird:
HTML-Datei:
Ergebnis:
var person2 = new Object();
person2.Vorname = "Max";
person2.Nachname = "Muster";
person2.Geburtsjahr = 1978;
Mit eigenen Objekt-Konstruktoren können auf einfach Art und Weise mehrere Objekte erstellt werden. Hierzu wird das Schlüsselwort „this“ verwendet, das ein Platzhalte für das Objekt ist, innerhalb dessen es verwendet wird:
HTML-Datei:
Ergebnis:
function person3(vn, nn, gj) {
this.Vorname = vn;
this.Nachname = nn;
this.Geburtsjahr = gj;
}
var family3 = [];
family3[0] = new person3("Max", "Muster", 1978);
family3[1] = new person3("Mini", "Muster", 1980);
family3[2] = new person3("Mäxchen", "Muster", 2010);
Die Variable die bei der Erstellung eines Objektes verwendet wird, ist genau genommen nur eine Referenz auf das Objekt. D. h. die Variable verweist auf den Speicherbereich, wo das Objekt liegt. Wird eine Objekt-Variable einer anderen Variablen zugewiesen, so wird keine Kopie des Objekts erstellt, sonder der zweiten Variablen die gleiche Referenz auf das Obejkt zugewiesen. Wird das Objekt dann verändert, so wirkt sich das auf beide Referenzen gleichermaßen aus. Soll ein Objekt hingegen kopiert werden, so muss das neue Objekt erst einmal angelegt und dann alle Werte einzeln kopiert werden:
HTML-Datei:
Ergebnis:
pTest4.Vorname =
pKopie4:
Als Abschlussübung kannst du das vorhergehende Beispiel erweitern, indem du zum Anlegen von Objekten einen eigenen Objekt-Konstruktor und eine neue Funktion zum Kopieren von Objekten verwendest:
meinAuto =
deinAuto =
seinAuto =
Gehe dabei wie folgt vor:
Die Lösung kannst du dir hier herunterladen: