Freie Scripten und Tutorials erstellt von Roland Geyer       Startseite | Gästebuch

Funktionen erklären und aufrufen

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:

Beispiel 5.1:

function multipliziere (a,b){
	 c = a * b;
	 return c;
	 }
d = multipliziere (4,7);
document.write (d);


Anwendung 5.1

Beispiel 5.2:

Doch welche einzelnen Schritte passieren im Programmablauf?

  1. setze Variable a =0
  2. setze Variable b = 0
  3. setze Variable c = 0
  4. öffne das Eingabefeld für a und gib den Wert der Eingabe an a und multipliziere ihn mit 1
  5. öffne das Eingabefeld für b und gib den Wert der Eingabe an b und multipliziere ihn mit 1
  6. rufe die Funktion multipliziere() auf und übergib ihr a an Parameter p1 und b an Parameter p2
  7. lege innerhalb der Funktion die Variable x an und übergib den 1.Parameter an x
  8. lege innerhalb der Funktion die Variable y an und übergib den 2.Parameter an y
  9. lege innerhalb der Funktion die Variable ergebnis an und setze sie 0
  10. berechne x*y und übergib das Ergebnis an die Variable ergebnis
  11. beende die Funktion multipliziere() und liefere das Ergebnis an c zurück
  12. gib c im Html-Fenster aus
var a = 0;//1
var b = 0;//2
var c = 0;//3
function multipliziere(p1,p2){
var x = p1;//7
var y = p2;//8
var ergebnis = 0;//9
ergebnis = x*y;//10
return (ergebnis);//11
}
a = window.prompt("Wert fuer a:");a = 1*a;//4
b = window.prompt("Wert fuer b:");b = 1*b;//5
c = multipliziere(a,b)//6
document.write(c);//12


Anwendung 5.2

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"

Beispiel 5.3:

var d ="zwei";
function schreiben(){
var d = "eins";
alert(d);
}
schreiben();
document.write(d);


Anwendung 5.3

Weitere freie Tutorials: Rhetorik & Kommunikation Typografie & Layout Bildbearbeitung mit Photoshop oder GIMP Vektorgrafik mit Illustrator, FreeHand, Corel Draw oder Inkscape Layout mit Indesign oder Scribus Druckvorstufe GoLive Html JavaScript Flash & ActionScript Director & Lingo Assembler DOS Java objektorientiert Perl Word Excel Access PowerPoint Outlook Betriebssystem