Maison > interface Web > js tutoriel > le corps du texte

Pourquoi l'omission de \'var\' dans JavaScript entraîne-t-elle des variables globales et des erreurs inattendues ?

Patricia Arquette
Libérer: 2024-11-03 09:25:29
original
859 Les gens l'ont consulté

Why Does Omitting

Les périls des déclarations de variables globales

Dans le domaine de JavaScript, les développeurs ont longtemps été mis en garde contre un piège connu sous le nom de « l'horreur des variables globales implicites ». Cela se produit lorsqu'une variable est déclarée sans le mot-clé "var".

Contrairement à la croyance populaire, l'omission de "var" ne confère aucun avantage significatif en termes de performances. Au lieu de cela, il crée une variable globale, ce qui peut entraîner une fuite de variable involontaire et des conflits potentiels avec d'autres scripts de la page.

Pour illustrer ce problème, considérons la fonction suivante :

<code class="javascript">function foo() {
    variable1 = 5;
    varaible2 = 6;
    return variable1 + variable2;
}</code>
Copier après la connexion

En raison d'une faute de frappe dans la déclaration de "varaible2", la fonction renvoie NaN au lieu de la valeur attendue de 11. De plus, une variable globale nommée "varaible2" est créée par inadvertance, accessible depuis l'extérieur de la fonction :

<code class="javascript">console.log(foo());     // NaN
console.log(varaible2); // 6?!?!?!</code>
Copier après la connexion

Ce comportement inattendu peut conduire à des erreurs confuses et difficiles à déboguer dans votre code. Pour éviter ces écueils, il est crucial de toujours utiliser le mot-clé "var" lors de la déclaration de variables, tant à l'intérieur qu'à l'extérieur des fonctions.

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