Java Reference
In-Depth Information
};
ausgabe += "\nWert von a: " + a + "\nWert von b: " + b;
alert(ausgabe);
}
</script>
</head>
<body>
<h1>Falsche Anzahl an Funktionsargumenten</h1>
<a href="javascript:fkt()">Aufruf ohne Argumente</a><br />
<a href="javascript:fkt(new Date())">
Aufruf mit einem Argument - Argument 2 fehlt</a><br />
<a href="javascript:fkt(1,2,3,5)">Aufruf mit zu vielen Argumenten</a>
</body>
</html>
Die in dem Beispiel deklarierte Funktion hat zwei Parameter. Die Bezeichner a und b ste-
hen als lokale Variablen in der Funktion zur Verfügung. Wie ist nun das Verhältnis von
arguments zu den explizit bezeichneten Parametern? Die Antwort liefert die Logik der
Funktion, in der wir sowohl arguments als auch a und b explizit verwenden. Die drei ver-
schiedenen Aufrufe in der Webseite per Inline-Referenz demonstrieren zwei potenziell „fal-
sche“ Aufrufsituationen. Wir verwenden drei Aufrufsituationen, um das Verhältnis der
explizit angegebenen Parameter zu arguments besser zu verdeutlichen. Zuerst wird die
Funktion ohne Argumente aufgerufen. Die Länge von arguments ist damit also 0 und die
beiden Variablen a und b haben den Wert undeined .
Nach deutlicher wird das Verhältnis von explizit speziizierten Parametern und arguments
beim zweiten Aufruf mit einem Argument. Die Werte von a und arguments[0] sind iden-
tisch. Beide Aufrufe machen verschiedene Dinge ofensichtlich:
Die explizit angegebenen Parameter und die Werte im Datenfeld arguments bezeichnen
sequenziell jeweils das gleiche Argument, sofern Parameter explizit speziiziert sind.
Sie können arguments in einer Funktion immer verwenden, egal, ob Sie Parameter bei
einer Funktion deklarieren oder nicht.
Deklarieren Sie mehr Parameter, als Sie beim Aufruf Argumente angeben, haben die
Bezeichner für die nicht initialisierten Parameter den Wert undeined .
Bild 5.19■ Aufruf mit einem Argument
Search WWH ::




Custom Search