⊗jsPmFNFRF 252 of 505 menu

Funktion, die eine Funktion in JavaScript zurückgibt

Nehmen wir an, wir haben eine Funktion, die einen String zurückgibt:

function func() { return '!'; } let result = func(); console.log(result); // gibt '!' aus

Lassen Sie uns nun analog dazu statt eines Strings eine anonyme Funktion zurückgeben:

function func() { return function() { return '!'; }; } let result = func(); // in der Variable result wird eine Funktion sein console.log(result); // gibt 'function() {return '!';}' aus

Wie Sie sehen, stellt die Variable result nun eine Funktion dar. Lassen Sie uns das Ergebnis ihrer Ausführung in der Konsole ausgeben. Dazu schreiben wir runde Klammern dahinter:

function func() { return function() { return '!'; }; } let result = func(); console.log( result() ); // gibt '!' aus

Da der Aufruf func() eine Funktion zurückgibt, können wir diese zurückgegebene Funktion auch sofort aufrufen, wie folgt: func()() - die ersten runden Klammern erhalten das Ergebnis der Funktion func (welches selbst eine Funktion ist), und die zweiten runden Klammern werden auf das Ergebnis von func angewendet.

Versuchen wir es:

function func() { return function() { return '!'; }; } console.log( func()() ); // gibt '!' aus

Erstellen Sie eine Funktion func1, die, wenn sie so aufgerufen wird: func1()(), die Zahl 1 zurückgibt. Erstellen Sie eine ähnliche Funktion func2, die die Zahl 2 zurückgibt. Finden Sie die Summe der Ergebnisse dieser Funktionen.

enuzlmsronl