Anonyme Funktionen
Wird der optionale Funktionsname bei der Definition einer Funktion weggelassen, dann handelt es sich um eine anonyme Funktion. Eine anonyme Funktion lässt sich – wie auch eine benannte Funktion – einer Variablen zuweisen.
var anon = function () {
console.log("anonymous");
}
anon(); // anonymous

Dass sich Funktionen Variablen zuweisen lassen, zeigt, dass auch Funktionen nicht anders als Objekte und Literale behandelt werden. Eine Funktion kann wie ein Objekt verwendet und (zur Laufzeit) verändert werden.
Wenn eine benamnte Funktion erzeugt wird, sollte im Code nach der Erzeugung kein Semikolon platziert werden. Dies ist eine Ausnahme in JavaScript, den ansonsten sollten stets Anweisungen durch ein Semikolon abgeschlossen werden. Wenn eine anonyme Funktion einer Variablen zugewiesen wird, dann sollte die Anweisung durchaus durch ein Semikolon abgeschlossen werden. Daher ist Code, der keine benamnten Funktionen verwendet, sondern anonyme Funktionen, die einer Variablen zugewiesen werden, in sich konsistenter und lesbarer.
Eine anonyme Funktion lässt sich direkt ausführen. Eine solche Funktion wird dann „Immediate Function“ genannt. Dazu muss sie in runde Klammern eingeschlossen und direkt ausgeführt werden.
((function() {
var x = 1;
var y = 2;
return x + y;
})()); // 3
Selbstverständlich kann auch eine anonyme Funktion Parameter haben.
(function(x, y) {
return x + y;
})(1, 2); // 3
Auch der Rückgabewert einer anonymen Funktion lässt sich einer Variablen zuweisen.
var anonResult = (function () {
return "anonymous";
})();
anonResult; // anonymous
Genauso lässt sich der Rückgabewert einer anonymen Funktion selbst als Parameter einer Funktion übergeben.
plus((function() {
return 5;
})(), 5); // 10
Anonyme Funktionen werden oft als Parameter verwendet. Genauso wie sich einer Funktion Werte als Parameter übergeben lassen, können einer Funktion auch Funktionen als Parameter übergeben werden. So ist eine Funktion nicht nur in Bezug auf ihre Daten, sondern auch in Bezug auf ihr Verhalten dynamisch.
Dies ist eine autorisierte Leseprobe aus dem Buch Oliver Ochs – JavaScript für Enterprise-Entwickler: Professionell programmieren im Browser und auf dem Server – dpunkt.verlag GmbH 2012. Weitere Leseproben folgen in Kürze.