Maison >interface Web >js tutoriel >Comment appeler une fonction qui renvoie une autre fonction en 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.
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.
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.
let outerFunction = function() { return function() { console.log("Inner function"); } } let innerFunction = outerFunction(); innerFunction(); // "Inner function"
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"
Inner function
ou
outerFunction()(); // "Inner function"
Les deux donneront le même résultat
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
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.
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!