191 votes

Passer une fonction avec des paramètres en paramètre?

Est-il possible de passer une fonction javascript avec des paramètres en paramètre?

Exemple:

 $(edit_link).click( changeViewMode( myvar ) );
 

300voto

Ferdinand Beyer Points 27723

Utilisez une "fermeture":

 $(edit_link).click(function(){ return changeViewMode(myvar); });
 

Cela crée un encapsuleur de fonction temporaire anonyme qui connaît le paramètre et le transmet à l'implémentation de rappel en cours.

19voto

Clyde Points 3881

Non, mais vous pouvez en passer un sans paramètre et procédez comme suit:

 $(edit_link).click(
  function() { changeViewMode(myvar); }
);
 

Donc, vous passez une fonction anonyme sans paramètre, cette fonction appelle ensuite votre fonction paramétrée avec la variable dans la fermeture

8voto

Philippe Leybaert Points 62715

Oui comme ça:

 $(edit_link).click(function() { changeViewMode(myvar) });
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X