Maison  >  Article  >  interface Web  >  Comment appeler une fonction qui renvoie une autre fonction en JavaScript ?

Comment appeler une fonction qui renvoie une autre fonction en JavaScript ?

WBOY
WBOYavant
2023-09-02 21:21:021092parcourir

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

Nous appellerons la fonction en citant le nom de la fonction et en ajoutant des parenthèses après. si La fonction que nous appelons renvoie une autre fonction (dans notre cas, c'est le cas) et nous devons attribuer dans une variable ou appelez-la immédiatement. À l'avenir, nous devons veiller à ce que nous Comprenez le comportement de la fonction renvoyée et comment l'utiliser dans notre code. C’est ce qu’on appelle le currying fonctionnel.

Fonction curry

  • Le currying de fonctions est une technique de programmation fonctionnelle dans laquelle une fonction est transformée en une série de fonctions dont chacune accepte un paramètre.

  • Cela permet une application partielle des arguments d'une fonction et simplifie la composition des fonctions.

  • Il porte le nom du logicien Haskell Curry.

  • En JavaScript, la fonction « curry » peut être utilisée pour curry une fonction donnée.

Méthode

En JavaScript, vous pouvez appeler une fonction qui renvoie une autre fonction en attribuant d'abord la fonction renvoyée à une variable, puis en l'appelant en utilisant le nom de la variable suivi de parenthèses.

Exemple

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

Sortie

Inner function

Vous pouvez également appeler la fonction interne immédiatement après avoir appelé la fonction externe en ajoutant des parenthèses dans l'appel de fonction externe comme indiqué ci-dessous -

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

Vous pouvez également utiliser des fonctions fléchées au lieu de fonctions -

let outerFunction = () => () => console.log("Inner function");
let innerFunction = outerFunction();
innerFunction(); // "Inner function"

Sortie

Inner function

ou

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

Les deux donneront le même résultat

Code final

Ceci est un exemple d'appel d'une fonction qui renvoie une autre fonction en JavaScript -

// 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

Instructions

    La fonction
  • createMultiplier accepte un seul paramètre x et renvoie une nouvelle fonction. Cette fonction de retour accepte un seul argument y et renvoie le produit de x et y.

  • Nous appelons la fonction createMultiplier en passant la valeur 2 comme argument, et la fonction attribue la fonction renvoyée à la variable double.

  • Maintenant, la variable double est une fonction qui prend l'argument y et renvoie x*y (où x est 2).

  • Nous appelons double(5), il renverra 2*5 = 10.

Dans cet exemple, createMultiplier est une fonction d'ordre supérieur car elle renvoie une fonction. La fonction renvoyée est appelée fermeture car elle mémorise la valeur de x de la portée de la fonction externe.

Sortie

10

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer