Sie sind hier 613
Prototypen verwenden
Richtig: Funktionen sind auch nur Objekte. Das sollte Sie mittlerweile
aber nicht mehr überraschen. Schließlich können wir Funktionen
(wie Objekte) Variablen zuweisen, sie als Argumente übergeben (wie
Objekte), sie (wie Objekte) aus Funktionen zurückgeben. Funktionen
können sogar Eigenschaften haben, wie die hier zum Beispiel:
Es stimmt! Funktionen
sind auch Objekte.
Dog.constructor
Nicht vergessen: Dies
ist eine Funktion.
Und das hier ist
eine Eigenschaft.
Niemand hält Sie davon ab, eine Funktion um eigene praktische
Eigenschaften zu erweitern. Und um den Kreis zu schließen: Haben Sie schon
einmal überlegt, eine Methode zu erstellen, die einfach nur eine Eigenschaft
eines Objekts ist, das in einem anonymen Funktionsausdruck erstellt wird?
Die Einzelteile zusammenfügen
Was kommt als Nächstes?
Nachdem Sie alle Grundlagen gemeistert haben, ist es
an der Zeit, die Dinge weiter auszubauen. Jetzt können
Sie Ihre Erfahrungen mit dem Browser und seinen
Programmierschnittstellen wirklich sinnvoll nutzen. Ein
guter Startpunkt ist unser Buch HTML5 Programmierung -
Von Kopf bis Fuß. Darin lernen Sie, wie Sie Geolocation,
die Zeichenfähigkeiten des canvas, Local Storage und Web
Workers in Ihren Applikationen nutzen können. Aber
bevor Sie dieses Buch zur Seite legen, sollten Sie noch den
Anhang lesen, denn dort gibt es eine Reihe weiterer Dinge,
die zu erforschen sich lohnt.
Dieses Thema entwickelt sich schnell weiter. Bevor Sie sich »HTML5
Programmierung - Von Kopf bis Fuß« besorgen, sollten erst einen Blick auf
http://wickedlysmart.com/javascript werfen. Hier finden Sie unsere neuesten
Empfehlungen sowie Aktualisierungen und Überarbeitungen zu diesem Buch.
Besuchen Sie auf jeden Fall http://
wickedlysmart.com/javascript. Hier
finden Sie weiterführende Materialien
zu diesem Buch und Ihren nächsten
Auftrag, sollten Sie ihn annehmen …
Ein Großteil der Stärke und Flexibilität von JavaScript kommt vom Zusam-
menspiel zwischen Funktionen und Objekten sowie der Tatsache, dass wir
sie als Werte erster Klasse behandeln können. Wenn Sie über die mächtigen
Programmierkonzepte nachdenken, die wir behandelt haben – Konstruk-
toren, Closures, die Erstellung von Objekten mit wiederverwendbarem und
erweiterbarem Verhalten, die Möglichkeit, das Verhalten von Funktionen mit
Parametern zu versehen, und so weiter –, basieren alle diese Techniken auf
Ihrem Verständnis von hoch entwickelten Objekten und Funktionen.
Jetzt sind Sie in der Position, diese Konzepte sogar noch weiter zu treiben …
614 Kapitel 13
Kapitelzusammenfassung
Das Objektsystem von JavaScript verwendet
Prototyp-basierte Vererbung.
Wenn Sie mit einem Konstruktor ein Objekt
erstellen, besitzt die Objektinstanz ihre eigenen
Eigenschaften und eine Kopie der Konstruktor-
methoden.
Fügen Sie einem Konstruktorprototyp Eigen-
schaften hinzu, werden diese an alle mit dem
Konstruktor erstellten Instanzen vererbt.
Die Zusammenfassung von Eigenschaften in
einem Prototyp kann die Codeverdopplung zur
Laufzeit in Objekten verringern.
Um die Eigenschaften eines Prototyps zu über-
schreiben, brauchen Sie die Eigenschaft nur der
Instanz hinzuzufügen.
Eine Konstruktorfunktion besitzt einen Standard-
prototyp, auf den Sie über die prototype-Eigen-
schaft der Funktion zugreifen können.
Sie können der prototype-Eigenschaft einer Kon-
struktorfunktion Ihr eigenes Objekt zuweisen.
Wenn Sie Ihr eigenes Prototyp-Objekt ver-
wenden, müssen Sie aus Konsistenzgründen
dafür sorgen, dass die Konstruktorfunktion der
constructor-Eigenschaft korrekt zugewiesen wird.
Fügen Sie einem Prototyp nach der Erstellung
von Instanzen, die von ihm erben, neue Eigen-
schaften hinzu, stehen diese den Instanzen per
Vererbung sofort zur Verfügung.
Benutzen Sie die hasOwnProperty-Methode an
einer Instanz, um herauszunden, ob die Eigen-
schaft in der Instanz selbst deniert wurde.
Die Methode call kann verwendet werden,
um eine Funktion aufzurufen und ein Objekt
anzugeben, das im Körper der Funktion als this
verwendet werden soll.
Object ist das Objekt, von dem alle Prototypen
und Instanzen letztendlich erben.
Object besitzt Eigenschaften und Methoden, die
alle Objekte erben, wie beispielsweise toString
und hasOwnProperty.
Sie können JavaScript-eigenen Objekten wie
Object oder String neue Eigenschaften und
Methoden hinzufügen oder die vorhandenen
überschreiben. Hierbei sollten Sie vorsichtig sein,
denn Ihre Änderungen können weitreichende
Folgen haben.
In JavaScript ist fast alles ein Objekt, inklusive
Funktionen, Arrays, viele der JavaScript-eigenen
Objekte und der Objekte, die Sie selbst erstellen.
Mithilfe der Eigenschaft constructor können Sie
herausnden, mit welchem Konstruktor ein Objekt
erzeugt wurde. Die Eigenschaft enthält nicht den
Namen, sondern eine Referenz auf den Konstruk-
tor selbst.
Herzlichen
Glückwunsch von uns
allen zum Beenden
des Buchs.
Sie haben es
geschafft. Hier ist das
Buch zu Ende!
Beim Klabautermann,
dafür gibt es 100
Dublonen!
Klasse! Ohne Sie hätten wir das
nicht geschafft!
Juhuu. Auf den Punkt!
Recht so! Gute
Arbeit!
Jetzt können Sie
anfangen, richtig zu
programmieren.
Hervorragende Arbeit!
Punkt für Punkt

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.