2012-02-24 4 views
0

Disons qu'il ya deux façons de définir une fonction:Fonction qui retourne la fonction

Première façon:

Bar.prototype.foo = function() 
{ 
    // do something 
} 

chemin Second:

Bar.prototype.foo = function() 
{ 
    return function() { 
     // do something 
    } 
} 

Pour que le deuxième moyen est utile cas de fermeture.

Il existe d'autres cas où la deuxième voie est préférable à la première.

Répondre

1

J'ai eu un projet dans lequel j'ai construit dynamiquement des fonctions de validateur pour certains types d'entrée d'une manière similaire au cas de fermeture.

Ainsi, le retour d'une fonction différente en fonction des paramètres d'entrée peut être une utilisation valide pour la définition ultérieure d'une fonction.

Questions connexes