3 Funktionen
Funktionen sind eines der mächtigsten und komplexesten Sprachkonstrukte von JavaScript. Wie wir in den folgenden Kapiteln sehen werden, basieren sogar die Patterns für Klassen und Module auf Funktionen.
3.1 Bürger erster Klasse
Eine Funktion definiert ihr in JavaScript mit dem Schlüsselwortfunction. Dann folgen der Name der Funktion, Klammern für die deklarierten Parameter und ein Block für den Funktionskörper. Das Ganze könnte z. B. so aussehen:
function meineErsteFunktion() {
console.log("Toll!");
}
Dazu der passende Aufruf:
meineErsteFunktion();
// => Toll!
Funktionen können auch anonym sein und haben dann keinen Namen. Das ist nur sinnvoll, wenn ihr sie direkt ausführt oder einer Variablen zuweist. Den Sinn der direkten Ausführung sehen wir weiter hinten in diesem Kapitel, hier erst einmal die Zuweisung an eine Variable:
var meineZweiteFunktion = function () {
console.log("Auch toll!");
};
meineZweiteFunktion();
// => Auch toll!
Vielleicht ist euch das Semikolon am Ende der Zuweisung aufgefallen? Ja, das Ganze ist nun zu einem Statement geworden, und Statements sollen ja laut Tipp aus dem letzten Kapitel mit einem Semikolon beendet werden.
Hinweis: Funktionen sind Objekte und können als solche einer Variablen zugewiesen oder als Parameter übergeben werden.
Hält eine Variable eine Referenz auf eine Funktion, ist die Funktion darüber mit dem()-Operator aufrufbar.
3.2 Sichtbarkeitsbereiche (Scopes)
Wie in Kapitel 2 gesehen, spannen Blöcke in JavaScript im Gegensatz zu Java und viele