Maison > interface Web > js tutoriel > Quand utiliser des parenthèses avec des références de fonctions JavaScript ?

Quand utiliser des parenthèses avec des références de fonctions JavaScript ?

Patricia Arquette
Libérer: 2024-12-05 10:27:13
original
644 Les gens l'ont consulté

When to Use Parentheses with JavaScript Function References?

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();
Copier après la connexion

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

  • myFunction fait référence à la fonction
  • myFunction() appelle le function

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")
Copier après la connexion

Dans ce cas, setTimeout(myFunction(), 1000):

  • Appelle la fonction externe myFunction
  • Obtient la valeur de retour, qui est une fonction interne
  • Passe la fonction interne comme argument à setTimeout

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal