Maison >interface Web >js tutoriel >Appels de fonctions JavaScript : parenthèses – Quand sont-elles nécessaires ?

Appels de fonctions JavaScript : parenthèses – Quand sont-elles nécessaires ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-09 09:05:07831parcourir

JavaScript Function Calls: Parentheses – When Are They Necessary?

Syntaxe d'appel de fonction en JavaScript : parenthèses ou pas de parenthèses

Lors de l'appel d'une fonction en JavaScript, l'utilisation de parenthèses soulève des questions sur son potentiel conséquences. Explorons les différences entre ces deux syntaxes :

Appel avec parenthèses vides :

window.onload = initAll();

Dans ce cas, la fonction initAll() est invoquée immédiatement et son retour la valeur est attribuée à window.onload. Généralement, lorsqu'aucun argument n'est transmis, cette approche n'est pas souhaitable car elle suppose que initAll() renvoie une fonction.

Appel sans parenthèses :

window.onload = initAll;

Ceci La syntaxe attribue la référence de fonction elle-même à window.onload sans l'exécuter. En effet, en JavaScript, les fonctions sont des objets de première classe qui peuvent être attribués et référencés comme n'importe quelle autre variable. Dans ce cas, initAll sera exécuté lorsque l'événement de chargement se produit.

Syntaxe Lambda avec parenthèses :

window.onload = () => initAll();

Cette expression lambda crée une nouvelle fonction qui appelle initAll () immédiatement lorsqu'il est invoqué. Les parenthèses sont requises ici pour garantir que initAll() est appelé immédiatement. Cependant, la référence à la fonction externe est toujours attribuée à window.onload, donc initAll s'exécutera lors de l'événement de chargement.

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