Eine Funktion ist ein benannter Codeblock, den du beliebig oft aufrufen kannst. Sie vermeidet Wiederholungen und gliedert dein Programm.
Definition und Aufruf
Ergebnis
Hallo Mia! Hallo Tom!
functionleitet die Definition ein, danach kommen Name, Parameter in( )und der Rumpf in{ }.returngibt einen Wert zurück und beendet die Funktion. Ohnereturngibt sieundefinedzurück.- Parameter stehen in der Definition, Argumente beim Aufruf.
Mehrere Parameter und Standardwerte
Ergebnis
25 1024 mittel mit Milch | klein mit Milch | mittel mit Hafermilch
Rest-Parameter
Mit ... fängst du beliebig viele Argumente als Array:
Ergebnis
6 0 100 9
Funktionsausdrücke
Funktionen sind Werte: Du kannst sie in Variablen speichern, übergeben und zurückgeben.
Ergebnis
49 25 9 function quadrat 1
Funktionen mit Objekt als Parameter
Bei vielen Parametern ist ein Objekt mit Namen lesbarer als eine lange Liste:
Ergebnis
Mia (18, Gast) Tom (30, Admin)
Mehrere Werte zurückgeben
Eine Funktion liefert einen Wert. Für mehrere gibst du ein Array oder Objekt zurück und zerlegst es:
Ergebnis
1 9
Hoisting
Funktionsdeklarationen werden "nach oben gezogen": Du kannst sie schon vor ihrer Zeile aufrufen. Bei const f = function... geht das nicht.
Ergebnis
bereits da
Rekursion
Eine Funktion kann sich selbst aufrufen. Es braucht immer eine Abbruchbedingung:
Ergebnis
120 3628800 610
Reine Funktionen
Eine reine Funktion liefert bei gleicher Eingabe immer dasselbe Ergebnis und ändert nichts außerhalb. Solche Funktionen sind leicht zu testen und zu verstehen.
Merke
function name(parameter) { return wert; }- Ohne
returnist das Ergebnisundefined - Standardwerte (
x = 1), Rest-Parameter (...args), Objekt-Parameter - Funktionen sind Werte und können übergeben werden
- Rekursion braucht eine Abbruchbedingung
Aufgabe
Schreibe eine Funktion istPrimzahl(n) und gib alle Primzahlen bis 50 aus.