Eine weitere wichtige Aufgabe ist die Zusammenfassung mehrerer Anweisungen unter einem einheitlichen Namen.
Sie möchten zum Beispiel in einem Programm öfters zwei Zahlen multiplizieren.
Die Berechnung lautet allgemein: c = a * b.
Zuerst geben Sie der Funktion einen Namen, unter der Sie sie immer wieder aufrufen können. Der Name der Funkion sei multipliziere. Nun müssen Sie dem Programm mitteilen wer multipliziert wird. Dies geschieht durch die Nennung der Variablen, die an die Funktion übergeben werden. Eine Variable wird mit a die andere Variable mit b bezeichnet. Die Variablen werden neben dem Funktionsnamen in Klammern gesetzt. Mehrere Variablen werden in der Klammer durch einen Beistrich getrennt. Dies sieht dann so aus:
multipliziere(a,b)
Damit das Programm weiß, dass Sie hier eine Funktion für das Programm deklarieren, setzen Sie das Wort function vor den Namen:
function multipliziere(a,b)
Nun müssen Sie dem Programm mitteilen, was Sie mit multpliziere meinen. Es werden die verschiedenen Anweisungen, die die Funktion multipliziere ausführen soll, aufgeschrieben.
c = a * b;
Um den errechneten Wert bzw. das Ergebnis übergeben zu können, verwendet man das Wort return.
return c;
Damit das Programm weiß, dass die Anweisungen zum Funktionsnamen gehören, werden die Anweisungen in { }-Klammern gesetzt. Damit lautet die vollständige Deklaration der Funktion multipliziere:
function multipliziere(a,b){
c = a * b;
return c;
}
Die { }-Klammern werden zwecks Übersichtlichkeit wie oben gesetzt.
Damit ist die Funktion vollständig erklärt. Jetzt muss diese nur noch verwendet werden. Dies geschieht durch Nennung des Funktionsnamens. In den Klammern werden die Werte, die die Funktion berechnen soll, angeführt. Das Ergebnis der Berechnung wird an eine Variable d übergeben. Damit lautet der Funktionsaufruf:
d = multipliziere (4,7);
Nun das zusammengefasste Beispiel:
function multipliziere (a,b){
c = a * b;
return c;
}
d = multipliziere (4,7);
document.write (d);
|
Doch welche einzelnen Schritte passieren im Programmablauf?
var a = 0;//1 |
Ab jetzt ist es wichtig wo die Variablen definiert werden. Variablen die innerhalb einer Funktion mit var definiert werden gelten nur während der Dauer, solange die Funktion läuft. Wird die Funktion beendet, wird auch die Variable gelöscht!! Solche Variablen werden lokale Variablen genannt. Im normalen Programmtext, bzw jene Variablen die am Anfang des Dokumentes ausserhalb einer Funktion erklärt werden gelten immer. Sie werden globale Variablen genannt. Dabei ist zu beachten, dass Jasvascript Programme nur während des geöffneten Browserfensters laufen können. Wird ein Browserfenster geschlossen, wird das Pragramm beendet und es werden alle Variablen automatisch gelöscht.
Dank der lokalen Variablen können die verschiedenen Funktionen gleiche Variablennamen besitzen. Dies führt zu folgenden Effekt:
Zuerst wird eine Variable d mit dem Wert "zwei" angelegt.
Innerhalb der Funktion wird wieder eine Variable d aber mit einem anderen Wert angelegt.
Die Variablen heissen zwar gleich sind aber nicht gleich!!!
Obwohl d durch den Funktionsaufruf auf "eins" gesetzt wurde, erscheint bei document.write der Wert "zwei"
var d ="zwei"; |