Maison >interface Web >js tutoriel >Pourquoi ma variable globale n'est-elle pas accessible dans plusieurs fichiers JavaScript ?

Pourquoi ma variable globale n'est-elle pas accessible dans plusieurs fichiers JavaScript ?

DDD
DDDoriginal
2024-10-26 03:38:27760parcourir

Why is my global variable not accessible across multiple JavaScript files?

Variables globales en JavaScript sur plusieurs fichiers

Dans de nombreuses applications JavaScript, le code est organisé en fichiers séparés pour améliorer la modularité et la maintenabilité. Cependant, lorsque vous travaillez avec des variables globales dans ces fichiers, certaines limitations peuvent survenir.

Le problème :

Un développeur a écrit un fichier JavaScript nommé "helpers.js" et l'a inclus dans un document HTML. Dans le code HTML, ils voulaient vérifier si une fonction spécifique de "helpers.js" avait été appelée. Pour y parvenir, ils ont défini une variable globale (« myFunctionTag ») à la fois dans le code HTML et dans « helpers.js ». Cependant, lorsqu'ils essayaient d'accéder à « myFunctionTag » dans le code HTML, celui-ci renvoyait toujours « false », même s'il était défini sur « true » dans « helpers.js ».

La solution :

En JavaScript, les variables globales sont déclarées au niveau de la portée supérieure. Lorsqu'une variable est déclarée dans une balise de script, elle crée une nouvelle portée et n'affecte pas les variables déclarées dans d'autres balises de script.

Pour garantir que la variable globale ("myFunctionTag") est accessible à la fois dans le code HTML et "helpers.js", il doit être déclaré en dehors de toute balise de script. Voici le code HTML corrigé :

<code class="html"><script type='text/javascript'>
  var myFunctionTag = false;  <!-- Declare the global variable outside of any script tag -->
</script>
<script type='text/javascript' src='js/helpers.js'></script>    </code>

En déclarant la variable globale en dehors des balises de script, elle est désormais disponible pour tout le code ultérieur, y compris le fichier "helpers.js". Cela permet au développeur de vérifier l'état de "myFunctionTag" à partir du code HTML et de prendre les actions appropriées selon que la fonction a été appelée ou non.

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