Eine Funktion ist ein benannter Abschnitt Code, der sich von anderer Stelle aufrufen lässt. Sie nimmt Werte entgegen, tut etwas damit und gibt meist ein Ergebnis zurück.
- Funktion
Ein benannter Abschnitt Code, der sich von anderer Stelle aufrufen lässt, Werte entgegennimmt und meist ein Ergebnis zurückgibt.
Beispiel: „Die Funktion zur Preisberechnung steht einmal im Code und wird an sieben Stellen aufgerufen.“Auch: Methode, wenn die Funktion zu einem Objekt gehört. Die Mechanik ist dieselbe, der Name sagt nur, wo sie steht.
Abgrenzung zum Parameter: Der Parameter ist der Platzhalter in der Vereinbarung, das Argument der Wert, der beim Aufruf eingesetzt wird.
Wozu sie da ist
Sie verhindert, dass dasselbe mehrfach im Code steht. Was an sieben Stellen gebraucht wird, steht einmal in einer Funktion, und die sieben Stellen rufen sie auf. Ändert sich die Regel dahinter, ist eine Stelle anzufassen statt sieben.
Der zweite Zweck ist das Benennen. Ein Block mit fünf Rechenschritten sagt nichts über seine Absicht. Dieselben fünf Schritte in einer Funktion namens bruttoPreisBerechnen sagen sie, ohne dass jemand den Inhalt lesen muss.
function bruttoPreisBerechnen(netto, satz) {
return netto * (1 + satz);
}
// Aufruf: 19.99 und 0.19 sind die Argumente
const brutto = bruttoPreisBerechnen(19.99, 0.19);Hinein und heraus
Eine Funktion nimmt Werte entgegen und gibt einen zurück. Dazwischen soll möglichst wenig passieren, was von außen nicht zu sehen ist. Eine Funktion, die bei gleichen Eingaben immer dasselbe liefert und nichts anderes anrührt, lässt sich prüfen, ohne das ganze Programm zu starten.
Wo das nicht gelingt, wird es schnell unübersichtlich. Eine Funktion, die nebenbei eine Datei schreibt oder eine Anzeige ändert, muss jemand im Zusammenhang lesen, um sie zu verstehen.
Funktionen als Werte
In JavaScript ist eine Funktion selbst ein Wert. Sie lässt sich in einer Variablen ablegen und an andere Funktionen übergeben. Davon lebt die Callback-Funktion: Du reichst eine Funktion weiter, damit eine andere sie später aufruft.
Das ist die Grundlage für fast alles, was im Browser auf etwas wartet. Ein Ereignis bekommt eine Funktion mit, die beim Eintreten laufen soll, und bis dahin passiert nichts.