Maison >interface Web >js tutoriel >Quand utiliser des parenthèses avec des références de fonctions JavaScript ?
Quand utiliser les parenthèses et quand ne pas les utiliser ?
En JavaScript, il est crucial de comprendre quand utiliser les parenthèses et quand ne pas les utiliser, en particulier avec la fonction références. Considérez le code suivant :
var myFunction = function() { setTimeout(myFunction, 1000); } myFunction();
Pourquoi l'appel de fonction dans setTimeout ne nécessite-t-il pas de parenthèses, alors que la dernière ligne le fait ?
En bref
Explication détaillée
setTimeout accepte une référence de fonction comme argument. Dans la première ligne, setTimeout(myFunction, 1000) transmet la référence de la fonction sans parenthèses car il attend une référence.
Cependant, dans la dernière ligne, myFunction() appelle en fait la fonction. Pour invoquer une fonction, nous utilisons des parenthèses pour l'exécuter. Par conséquent, myFunction() exécute la fonction et nécessite donc des parenthèses.
Exception
Il peut y avoir des cas où setTimeout(myFunction(), 1000) est approprié, comme lorsque myFunction() renvoie une fonction. Par exemple :
function myFunction() { return function() { alert("ohai") } } // Or const myFunction = () => () => alert("ohai")
Dans ce cas, setTimeout(myFunction(), 1000):
Cela entraîne une alerte toutes les secondes.
Conclusion
Comprendre le but des parenthèses dans les références de fonction est essentiel pour un JavaScript efficace programmation. En vous rappelant que les parenthèses indiquent un appel de fonction, vous pouvez les utiliser correctement pour appeler des fonctions ou transmettre des références de fonction selon vos besoins.
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!