Maison >interface Web >js tutoriel >Comment les parenthèses, les guillemets et l'absence de guillemets affectent-ils le comportement de « setTimeout » en JavaScript ?

Comment les parenthèses, les guillemets et l'absence de guillemets affectent-ils le comportement de « setTimeout » en JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-29 05:35:10526parcourir

How Do Parentheses, Quotes, and No Quotes Affect `setTimeout` Behavior in JavaScript?

Comprendre les différences dans l'utilisation de setTimeout

En JavaScript, setTimeout vous permet de planifier l'exécution d'une fonction après un délai spécifié. Il existe plusieurs façons d'utiliser setTimeout avec différentes syntaxes.

1. avec parenthèses :

setTimeout(() => console.log("Callback"), 1000);

Dans ce scénario, une fonction de flèche anonyme est transmise comme rappel, et les parenthèses qui l'entourent indiquent qu'elle est exécutée immédiatement et transmise comme référence à setTimeout.

2. Sans guillemets ni parenthèses :

setTimeout(callbackFunction, 1000);

Ici, callbackFunction est une fonction prédéfinie qui est transmise comme rappel sans guillemets ni parenthèses. La référence de fonction est exécutée lorsque le délai est terminé.

3. Utilisation uniquement de guillemets :

setTimeout("alertMsg()", 1000);

Cette utilisation est fortement déconseillée car elle peut entraîner des failles de sécurité. Il nécessite que la fonction soit définie comme une variable globale et utilise une chaîne contenant le nom de la fonction. Cette chaîne est ensuite évaluée et exécutée sous forme de script.

Différences clés :

  • Parenthèses : Indiquent l'exécution immédiate de la fonction de rappel , en le passant comme référence.
  • Citations : Autoriser une chaîne contenant le nom de la fonction à exécuter, mais ce n'est pas sécurisé.
  • Pas de guillemets ni de parenthèses : Transmettez la référence de la fonction directement comme rappel.

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