Maison  >  Article  >  interface Web  >  js implémente une méthode similaire aux compétences d'appel add(1)(2)(3) method_javascript

js implémente une méthode similaire aux compétences d'appel add(1)(2)(3) method_javascript

WBOY
WBOYoriginal
2016-05-16 16:11:181286parcourir

Copier le code Le code est le suivant :

var ajouter = fonction(a){
Fonction de retour (b){
        fonction de retour(c){
               retourner a b c ;
        };
};
};
ajouter(1)(2)(3); //6

C'est vrai ! S'il y a quatre appels comme add(1)(2)(3)(4), cela ne s'appliquera certainement pas.

Cela revient à exécuter une fonction et à renvoyer la valeur de la fonction elle-même :

Copier le code Le code est le suivant :

fonction ajouter(x) {
var somme = x;
var tmp = fonction (y) {
somme = somme y;
         return tmp;
};
tmp.toString = fonction () {
        renvoyer la somme ;
};
Retour tmp;
>
console.log(add(1)(2)(3)); //6
console.log(add(1)(2)(3)(4)); //10

Mais une fois le calcul terminé, la fonction tmp est toujours renvoyée, donc le résultat du calcul ne peut pas être obtenu. Le résultat dont nous avons besoin est un nombre calculé. Alors, que devons-nous faire ? les calculs en JavaScript. , appelleront respectivement la fonction toString ou valueOf, nous réécrivons donc les méthodes toString et valueOf de tmp pour renvoyer la valeur de sum

Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn