Ajaxer

Javascript punks

JavaScript als funktionale Programmiersprache – Teil 4

| Keine Kommentare

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

Cover-klein in JavaScript als funktionale Programmiersprache - Teil 4 - Ajaxer

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.

Gesucht und gefunden durch:

  • anonyme funktion javascript
  • javascript funktion einer variable zuweisen
  • parameterübergabe bei anonymen funktionen

Autor: Oliver Ochs

Oliver Ochs ist bei der Management- und IT-Unternehmensberatung Holisticon AG in Hamburg tätig. Er beschäftigte sich in den letzten Jahren mit Content Management Systemen, Webframeworks und Portalen auf Java-Basis. In diesem Umfeld arbeitete er als Entwickler, Architekt und Projektleiter. Er hat darüber hinaus Erfahrungen in Schulungen und Coachings. In letzter Zeit setzte er einen seiner Schwerpunkte auch auf Web- Application-Security, Identity-Management und neue Seiten von JavaScript. Ein anderer persönlicher Schwerpunkt sind agile Methoden und Prozesse

Schreib einen Kommentar

Pflichtfelder sind mit * markiert.