Java Reference
In-Depth Information
Im Header sehen Sie die Deklaration einer Funktion, bei der kein Parameter speziiziert ist.
Im Inneren setzen wir eine lokale Variable ausgabe zusammen. Sie sehen dabei mehrfach
den Token \n . Das ist eine Steuersequenz. Dieser Token steht für einen Zeilenumbruch, der
sich in der alert() -Ausgabe auswirkt.
Über arguments.length wird die Anzahl der Argumente bestimmt und der lokalen Variable
hinzugefügt. In der Schleife iterieren wir über alle Parameter, die an die Funktion überge-
ben werden. Dies wird darüber gewährleistet, dass wir als Abbruchbedingung der Schleife
die Anzahl der Argumente verwenden, und das wieder über arguments.length . Betrachten
Sie den Schleifenkopf for (var i = 0; i < arguments.length; i++) . Im Inneren der
Schleife geben wir den Inhalt des jeweiligen Parameters aus, und zwar mit arguments[i] .
In der Funktion sehen Sie auch den Ausdruck typeof arguments[i] . Mit dem Operator
typeof bestimmen wir den Datentyp des Parameters.
Zum Aufruf der Funktion verwenden wir nun im Körper der Webseite Inline-Referenzen, in
denen wir die Funktion mit einer unterschiedlichen Anzahl an Parametern und unter-
schiedlichen Parametertypen aufrufen. Im ersten Hyperlink wird die Funktion ganz ohne
Parameter aufgerufen. Da die Anzahl der Argumente 0 ist, wird die Schleife im Inneren der
Funktion gar nicht durchlaufen, da die Bedingung für eine Ausführung schon beim Errei-
chen der Schleife nicht erfüllt ist. Die zweite Inline-Referenz übergibt genau ein Argument
an die Funktion - ein Datumsobjekt. Die Ausgabe in dem Dialogfenster zeigt die Anzahl der
Argumente und in diesem Fall den Inhalt und Typ des Arguments. In den folgenden Aufru-
fen sehen Sie, dass Sie auch mehrere Argumente übergeben können.
 Bild 5.18■
Der Aufruf der Funktion
Mehr oder wenige Argumente
In Zusammenhang mit dem gerade behandeltem Thema und dem Token arguments stellt
sich die Frage, wie sich JavaScript verhält, wenn man eine feste Anzahl an Parametern bei
einer Funktion speziiziert und mehr oder weniger Argumente beim Aufruf angibt? Schauen
wir uns zuerst eine entsprechende Modiikation des letzten Beispiels an (kap5_26.html) :
Listing 5.49■ Die Anzahl der Aufrufargumente passt nicht mit der Deklaration zusammen.
...
<script type="text/javascript">
function fkt(a, b) {
var ausgabe =
"Anzahl der Argumente: " + arguments.length;
for (var i = 0; i < arguments.length; i++) {
ausgabe +="\nArgument " + (i + 1) + ": " + arguments[i];
Search WWH ::




Custom Search