Sie sind hier � 527
Fortgeschrittene Objektkonstruktion
Einen Konstruktor benutzen
Wie gesagt, die Verwendung eines Konstruktors besteht aus zwei Schritten: Zuerst
erstellen wir den Konstruktor, und dann benutzen wir ihn. Einen Hunde-Konstruktor
haben wir bereits, also wollen wir ihn auch verwenden. Und das geht so:
var fido = new Dog("Fido", "Mischling", 17);
Um einen Hund zu erstellen, benutzen wir
den Operator new gefolgt vom Konstruktor.
Gefolgt von ei-
nem Aufruf des
Konstruktors.
Um einen neuen Hund (ein dog-Objekt) namens »Fido« mit der Rasse »Mischling« und einem
Gewicht von 17 Kilo zu erstellen, beginnen wir mit dem Schlüsselwort new, gefolgt von einem
Aufruf der Konstruktorfunktion und den entsprechenden Argumenten. Nach Auswertung dieser
Anweisung enthält die Variable fido eine Referenz auf das neue dog-Objekt.
Mit diesem neuen Hunde-Konstruktor ist die Erstellung weiterer Vierbeiner kein Problem:
var fluffy = new Dog("Fluffy", "Pudel", 15);
var spot = new Dog("Spot", "Chihuahua", 5);
Das ist schon einfacher als die Verwendung von Objektliteralen, oder? Wenn wir die
Hunde auf diese Weise erzeugen, erhält jeder Hund die gleichen Eigenschaften: Name,
Rasse und Gewicht.
Zum besseren Verständnis
wollen wir uns ein bisschen
Praxiserfahrung verschaffen.
Übertragen Sie diesen Code in
eine Webseite und unterziehen
Sie ihn einem Probelauf.
function Dog(name, breed, weight) {
this.name = name;
this.breed = breed;
this.weight = weight;
}
var fido = new Dog("Fido", "Mischling", 17);
var fluffy = new Dog("Fluffy", "Pudel", 15);
var spot = new Dog("Spot", "Chihuahua", 5);
var dogs = [fido, fluffy, spot];
for (var i = 0; i < dogs.length; i++) {
var size = "kleiner";
if (dogs[i].weight > 5) {
size = "großer";
}
console.log("Hund: " + dogs[i].name
+ " ist ein " + size
+ " " + dogs[i].breed);
}
Sprechen Sie das laut aus: »Um
Fido zu erstellen, muss ich ein
neues dog-Objekt mit dem
Namen Fido erstellen, einem
Mischling, der
1
7 Kilo wiegt.«
Und dann
kommen die
Argumente.
Übung
Get JavaScript-Programmierung von Kopf bis Fuß now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.