Wir rufen die Funktion auf, indem wir den Funktionsnamen in Anführungszeichen setzen und dahinter Klammern hinzufügen. Wenn Die von uns aufgerufene Funktion gibt eine andere Funktion zurück (in unserem Fall ist dies der Fall) und wir müssen sie zuweisen in eine Variable umwandeln oder sofort aufrufen. Wir müssen in Zukunft dafür sorgen, dass wir Verstehen Sie das Verhalten der zurückgegebenen Funktion und wie Sie sie in unserem Code verwenden. Dies wird als Funktionscurrying bezeichnet.
Function Currying ist eine Technik in der funktionalen Programmierung, bei der eine Funktion in eine Reihe von Funktionen umgewandelt wird, von denen jede einen Parameter akzeptiert.
Dies ermöglicht die teilweise Anwendung der Argumente einer Funktion und vereinfacht die Funktionskomposition.
Es ist nach dem Logiker Haskell Curry benannt.
In JavaScript kann die Funktion „curry“ verwendet werden, um eine bestimmte Funktion zu curryen.
In JavaScript können Sie eine Funktion aufrufen, die eine andere Funktion zurückgibt, indem Sie zunächst die zurückgegebene Funktion einer Variablen zuweisen und sie dann mit dem Variablennamen gefolgt von Klammern aufrufen.
let outerFunction = function() { return function() { console.log("Inner function"); } } let innerFunction = outerFunction(); innerFunction(); // "Inner function"
Inner function
Sie können die innere Funktion auch direkt nach dem Aufruf der äußeren Funktion aufrufen, indem Sie im äußeren Funktionsaufruf Klammern hinzufügen, wie unten gezeigt -
outerFunction()(); // "Inner function"
Sie können anstelle von Funktionen auch Pfeilfunktionen verwenden -
let outerFunction = () => () => console.log("Inner function"); let innerFunction = outerFunction(); innerFunction(); // "Inner function"
Inner function
oder
outerFunction()(); // "Inner function"
Beide führen zum gleichen Ergebnis
Dies ist ein Beispiel für den Aufruf einer Funktion, die eine andere Funktion in JavaScript zurückgibt -
// A function that returns another function function createMultiplier(x) { return function(y) { return x * y; }; } // Call the createMultiplier function and assign the returned function to a variable let double = createMultiplier(2); // Use the returned function to perform a calculation console.log(double(5)); // Output: 10
createMultiplier akzeptiert einen einzelnen Parameter x und gibt eine neue Funktion zurück. Diese Rückgabefunktion akzeptiert ein einzelnes Argument y und gibt das Produkt aus x und y zurück.
Wir rufen die Funktion „createMultiplier“ auf, übergeben den Wert 2 als Argument und die Funktion weist die zurückgegebene Funktion der Variablen „double“ zu.
Jetzt ist die Double-Variable eine Funktion, die das Argument y akzeptiert und x*y zurückgibt (wobei x 2 ist).
Wir rufen double(5) auf, es wird 2*5 = 10 zurückgegeben.
In diesem Beispiel ist createMultiplier eine Funktion höherer Ordnung, da sie eine Funktion zurückgibt. Die zurückgegebene Funktion wird als Abschluss bezeichnet, da sie sich den Wert von x aus dem Bereich der äußeren Funktion merkt.
10
Das obige ist der detaillierte Inhalt vonWie rufe ich in JavaScript eine Funktion auf, die eine andere Funktion zurückgibt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!