6. JavaScript - Funktionen | ||||||||||||||||||||||
6.1. Definition 6.2. Aufruf 6.3. vordefinierte Funktionen | ||||||||||||||||||||||
6.1. DefinitionDurch den Gebrauch von Funktionen läßt sich Programmcode zu Einheiten zusammenfassen und beliebig oft verwenden. Anders als ungekapselter Code wird eine Funktion nicht unbedingt sofort bei oder nach dem Laden einer HTML-Datei ausgeführt. Der in einer Funktion enthaltene Code wird nur an den Stellen ausgeführt, an denen die jeweilige Funktion aufgerufen wird.Bei Funktionen handelt es sich im Prinzip um Blöcke mit Namen. Sie können allerdings Variablen oder Werte übergeben bekommen und einen Wert zurückgeben. Funktionsdefinitionen werden mit dem reservierten Wort function eingeleitet. Die Syntax lautet function Funktionsname(Parameter1, Parameter2, ...) {Funktionsblock}. Es müssen nicht unbedingt Parameter übergeben werden, in diesem Fall vereinfacht sich das Ganze zu function Funktionsname() {Funktionsblock}. Durch das reservierte Wort return hat man die Möglichkeit, einen Wert zurückzugeben. Genauer gesagt bricht return die Bearbeitung einer Funktion sofort ab. Man kann mehrere solcher Abbruchpunkte definieren.
In diesem Beispiel werden drei Funktionen definiert. Die mit dem Namen sqr gibt das Quadrat des einzigen Parameters zurück, die mit dem Namen cub die dritte Potenz. Die Function pot ermittelt die y-te Potenz von x und gibt diesen Wert zurück. Beachtenswert ist die Tatsache, daß die lokal definierten Variablen (y innerhalb von sqr und cub, i und z innerhalb von pot) auch nur innerhalb dieser Funktionen definiert sind. Eventuell global definierte Variablen gleichen Namens werden sowohl durch diese lokalen Variablen als auch durch die Namen der Parameter (x innerhalb von sqr und cub, x und y innerhalb von pot) verdeckt. Ansonsten sind alle global definierten Variablen auch innerhalb der Funktionen verfügbar. Soll eine Funktion keinen Wert zurückgeben, erspare man sich einfach die return-Zeile. Möchte man eine Funktion unter bestimmten Bedingungen ohne Rückgabewert vor dem eigentlichen Funktionsende abbrechen, notiere man return; ohne Parameter. Als Reaktion auf bestimmete Ereignisse lassen sich Funktionen im Header definieren und dann innerhalb von HTML-tags aufrufen. | ||||||||||||||||||||||
6.2. AufrufDie Syntax für Funktionen mit Parametern lautet Funktionsname(Parameter1, Parameter2, ...), für solche ohne Parameter Funktionsname().Einige Beispielaufrufe für die im vorigen Abschnitt definierten Funktionen:
Die Variable a wird auf 42 gesetzt, b auf 63, c auf ab und d wird auf das Ergebnis des mathematischen Ausdruckes ((3.73)4) gesetzt. | ||||||||||||||||||||||
6.3. vordefinierte FunktionenDie meisten vordefinierten Funktionen gehören zu Objekten, es gibt jedoch auch einige Funktionen, die zu keinem vorhandenen Objekt so richtig passen.
Vorsicht! Die eval-Funktion versteht auch Anweisungen wie beispielsweise history.back() (vorhergehende Seite aufrufen) oder window.close() (Fenster schließen) oder window.alert("irgendwas") (Meldung ausgeben). | ||||||||||||||||||||||
Autor: Ulrich Kritzner |