476 Kapitel 11
Einführung in anonyme Funktionen
function handler() { alert("Die Seite wurde geladen!"); }
window.onload = handler;
Dies ist ein typischer onload-
Handler, so wie wir ihn bisher
immer aufgebaut haben.
Zuerst definieren wir eine Funktion
mit dem Namen handler.
Danach weisen wir die Funktion anhand
ihres Namens handler der onload-
Eigenschaft des window-Objekts zu.
Und beim Laden der Seite
wird die Handler-Funktion
aufgerufen.
Zwei Seiten von Funktionen kennen Sie bereits: die formale, deklarative Seite
der Funktionsdeklarationen und die nicht so enge, expressivere Seite der
Funktionsausdrücke. Hier wollen wir Ihnen einen neuen interessanten Aspekt der
Funktionen zeigen: die anonyme Seite.
Mit anonym meinen wir Funktionen, die keinen Namen haben. Wie kann das sein? Nun,
wenn Sie eine Funktion über eine Deklaration definieren, hat sie auf jeden Fall einen
Namen. Aber wenn Sie eine Funktion über einen Funktionsausdruck definieren, wird
der Name nicht unbedingt gebraucht.
Vermutlich denken Sie jetzt: »Sicher, das ist eine interessante Tatsache, vielleicht geht
das, aber was soll's?« Durch die Verwendung anonymer Funktionen wird der Code
weniger aufgeblasen, knapper, lesbarer, effizienter und sogar besser wartbar.
Wir wollen sehen, wie anonyme Funktionen erstellt und benutzt werden. Wir
beginnen mit einem bekannten Codestück und schauen, wie anonyme Funktionen
uns hier weiterhelfen können:
Sehen Sie Funktionen mal andersherum …
Wenden Sie Ihr Wissen zu Funktionen und Variablen an,
indem Sie unten die richtigen Antworten ankreuzen.
❏ Die Variable handler enthält eine
Funktionsreferenz.
❏ Wenn wir handler window.onload zuweisen,
übergeben wir der Eigenschaft eine
Funktionsreferenz.
❏ Die Variable handler existiert nur, damit wir sie
an window.onload übergeben können.
❏ Wir benutzen handler nur einmal, weil ihr Code
nur beim Laden der Seite ausgeführt wird.
❏ Der mehrfache Aufruf von onload-Handlern
kann zu Problemen führen, weil diese Handler
üblicherweise die Initialisierung für die
gesamte Seite übernehmen.
❏ Funktionsausdrücke erzeugen
Funktionsreferenzen.
❏ Haben wir schon gesagt, dass bei der
Zuweisung eines Handlers an window.onload
eine Funktionsreferenz übergeben wird?
Spitzen Sie Ihren Bleistift
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.