Maison  >  Article  >  interface Web  >  Le passage d'une chaîne à setTimeout est-il déjà justifié ?

Le passage d'une chaîne à setTimeout est-il déjà justifié ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-20 07:37:02494parcourir

Is Passing a String to setTimeout Ever Justified?

Quand le passage d'une chaîne à setTimeout est-il acceptable ?

Passer une chaîne à setTimeout ou setInterval est généralement déconseillé en raison de ses inconvénients, notamment l'exécution dans la portée mondiale, les problèmes de performances et les risques de sécurité potentiels. Cependant, la question se pose : existe-t-il des raisons légitimes de recourir à cette pratique déconseillée ?

Global Scope Access

Le seul scénario potentiel identifié est celui de l'accès à une fonction ou variable existant dans la portée globale qui a été remplacée localement. Cependant, cela suggère une mauvaise conception du code, car cela introduit un conflit entre les identifiants locaux et globaux.

Origines historiques et prise en charge héritée

La syntaxe obsolète est probablement autorisée pour des raisons historiques. . Initialement, setTimeout et setInterval n'acceptaient qu'une chaîne de code comme premier argument. La prise en charge de la transmission d'une référence d'objet de fonction a été introduite ultérieurement.

Par conséquent, le maintien de la compatibilité descendante pour le code existant, les navigateurs existants et les appareils IoT qui peuvent s'appuyer sur des versions JavaScript plus anciennes nécessite de préserver la syntaxe basée sur les chaînes. Néanmoins, il est fortement recommandé d'adopter la syntaxe préférable en utilisant une expression de fonction pour le développement moderne.

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