Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL
Help

4. Funktionen > Funktionen zurückgeben

Funktionen zurückgeben

Funktionen sind Objekte, daher können sie auch als Rückgabewerte genutzt werden. Eine Funktion muss also nicht unbedingt Datenwerte oder Arrays mit Daten als Ergebnis liefern. Sie kann auch eine andere, spezialisiertere Funktion zurückgeben oder eine andere Funktion abhängig von den Eingabewerten bei Bedarf erzeugen.

Hier ein einfaches Beispiel: Eine Funktion erledigt bestimmte Arbeiten, vielleicht einmalige Initialisierungen, und liefert dann einen Rückgabewert. Dieser ist eine weitere Funktion, die ebenfalls ausgeführt werden kann:

var setup = function () {
    alert(1);
    return function () {
        alert(2);
    };
};

// Setup-Funktion nutzen
var my = setup(); // Alert: 1
my(); // Alert: 2

Da setup() die zurückgegebene Funktion »einpackt«, erzeugt sie ein Closure, das Sie wiederum nutzen können, um private Daten zu speichern. Auf diese kann die zurückgegebene Funktion, nicht aber der äußere Code zugreifen. Ein Beispiel hierfür wäre ein Zähler, der bei jedem Aufruf erhöht wird:

var setup = function () {
    var count = 0;
    return function () {
        return (count += 1);
    };
};

// Anwendung
var next = setup();
next(); // Rückgabe: 1
next(); // 2
next(); // 3
  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint