Java Reference
In-Depth Information
Schaltläche noch nicht verarbeitet hat, läut die Anweisung document.
getElementById(”b1”) ins Leere und der Browser meldet einen Fehler. Wir
gehen noch genauer auf dieses Thema ein.
5.8.9.1■Parameterübergabe bei Funktionsreferenzen
Bei Funktionsaufrufen übergeben Sie Argumente, indem Sie die Werte für die Parameter in
die Klammern der Funktion schreiben. Bei Funktionsreferenzen haben Sie aber explizit
kein Klammernpaar, in das Sie Argumente notieren können. Sie können bei Funktionsrefe-
renzen also gar keine Argumente für die Parameter angeben! Was also tun? Die Antwort
führt zu sogenannten anonymen Funktionen (oder genauer  - die direkte Deklaration
einer Funktion bei einer Zuweisung). Dort werden wir das Problem gleich lösen.
5.8.10■Benannte versus anonyme Funktionen
Bei der Deklaration einer Funktion kann der Funktionsname in einigen Situationen entfallen.
Man redet dann von einer anonymen Funktion (im Gegensatz zu einer benannten Funktion,
wie wir sie bisher immer verwendet haben). Eine anonyme Funktionsdeklaration ist dann
sinnvoll, wenn sie nur an dieser Stelle verfügbar sein muss. Und dann braucht man auch
keinen Funktionsbezeichner. Besonders interessant ist, dass eine solche anonyme Funktion
einer Variablen zugewiesen oder an eine Methode weitergereicht werden kann. Und diese
Zuweisung zu einer Variablen ist genau im Fall einer Funktionsreferenz gegeben. Eine ano-
nyme Funktion liefert immer einen Zeiger auf sich selbst zurück. Beispiel (kap5_29.html):
Listing 5.54■ Anonyme Funktionen
...
<body>
<h1>Verwendung von Funktionsreferenzen mit anonymen Funktionen</h1>
<button id="b1">Klick</button>
</body>
<script type="text/javascript">
document.getElementById("b1").onclick = function() {
alert("Gebt mir einen Punkt, wo ich hintreten kann, " +
"\nund ich bewege die Erde.");
} ;
</script>
</html>
In dem Skript sehen Sie, wie eine anonyme Funktion als Funktionsreferenz einem
JavaScript-Eventhandler zugewiesen wird. In der ersten Funktion wird direkt Funktionali-
tät implementiert, nichts Besonderes.
Nun können Sie im Inneren einer so referenzierte anonymen Funktion natürlich beliebige
weitere Funktionen aufrufen. Und diesen Aufrufen kann man ja Argumente mitgeben. Sie
sehen hier also, wie man im Zusammenhang mit Funktionsreferenzen Argumente angeben
kann - im Inneren der anonymen Funktion rufen Sie bei Bedarf eine Funktion mit Parame-
tern auf.
Search WWH ::




Custom Search