Maison  >  Article  >  interface Web  >  ## D'où viennent les variables d'entrée dans les fonctions de rappel JavaScript ?

## D'où viennent les variables d'entrée dans les fonctions de rappel JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-26 18:21:29295parcourir

## Where Do Input Variables in JavaScript Callback Functions Come From?

Fonctions de rappel Javascript : découvrir l'origine des variables d'entrée

Lorsque nous traitons des fonctions de rappel en JavaScript, une question courante se pose : où les variables de la fonction de rappel proviennent-elles ? Examinons la réponse, en utilisant un exemple Node.js pour plus de clarté.

Dans un exemple comme :

<code class="javascript">router.get('/', function(req, res){
    res.render('index', {});
});</code>

La fonction de rappel prend deux paramètres, req et res. Comprendre leur origine est crucial.

Comme toute autre invocation de fonction, les paramètres d'une fonction de rappel sont fournis lorsqu'elle est appelée. Dans ce cas, req et res sont transmis à la fonction de rappel par la méthode router.get.

Imaginez la version simplifiée de router.get comme :

<code class="javascript">router.get = function(endpoint, cb){
    // Logic to perform
    var request = {};
    var response = {};
    cb(request, response); // Invocation time
}</code>

Lorsque router.get est invoqué avec un point de terminaison et un rappel, il crée des objets de requête et de réponse et les transmet en tant que paramètres à la fonction de rappel. Cela remplit efficacement les variables req et res dans le rappel.

Ainsi, bien que la fonction de rappel ne soit pas immédiatement exécutée lorsqu'elle est passée en paramètre à une autre fonction, ses paramètres sont établis au moment de l'invocation. Comme dans toute autre fonction, les paramètres proviennent de l'appel de fonction lui-même.

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