Maison  >  Article  >  interface Web  >  Quand dois-je utiliser des parenthèses dans les appels de fonction JavaScript « setTimeout » ?

Quand dois-je utiliser des parenthèses dans les appels de fonction JavaScript « setTimeout » ?

DDD
DDDoriginal
2024-11-23 04:34:21482parcourir

When Should I Use Parentheses in JavaScript `setTimeout` Function Calls?

Quand utiliser les parenthèses dans les appels de fonction

Dans l'extrait de code fourni :

var myFunction = function() {
   setTimeout(myFunction, 1000);
}
myFunction();

L'appel de fonction dans setTimeout ne nécessite pas de parenthèses car setTimeout attend une référence de fonction comme argument. myFunction fait référence à la fonction.

En revanche, myFunction() dans la dernière ligne appelle la fonction. Lors de l'utilisation des parenthèses avec myFunction, il appelle la fonction et exécute son code.

Exception à la règle

Dans certaines circonstances, setTimeout(myFunction(), 1000) pourrait avoir du sens. Par exemple, si myFunction() renvoie une fonction elle-même :

function myFunction() {
    return function() {
        alert("ohai")
    }
}

Dans ce cas, setTimeout(myFunction(), 1000) fait ce qui suit :

  • Appelle la fonction myFunction , qui renvoie la fonction anonyme qui affiche l'alerte.
  • Définit la fonction renvoyée comme argument sur setTimeout.

De ce fait, une alerte sera déclenchée toutes les secondes.

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