Heim  >  Artikel  >  Web-Frontend  >  Wie rufe ich in JavaScript eine Funktion auf, die eine andere Funktion zurückgibt?

Wie rufe ich in JavaScript eine Funktion auf, die eine andere Funktion zurückgibt?

WBOY
WBOYnach vorne
2023-09-02 21:21:021148Durchsuche

如何在 JavaScript 中调用一个返回另一个函数的函数?

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.

Funktionscurry

  • 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.

Methode

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.

Beispiel

let outerFunction = function() {
   return function() {
      console.log("Inner function");
   }
}
let innerFunction = outerFunction();
innerFunction(); // "Inner function"

Ausgabe

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"

Ausgabe

Inner function

oder

outerFunction()(); // "Inner function"

Beide führen zum gleichen Ergebnis

Endgültiger Code

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

Anleitung

    Die Funktion
  • 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.

Ausgabe

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen