Maison > Article > interface Web > Quand dois-je utiliser des parenthèses dans les appels de fonction JavaScript « setTimeout » ?
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 :
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!