Maison  >  Article  >  interface Web  >  Pourquoi devriez-vous toujours utiliser \'var\' lors de la déclaration de variables en JavaScript ?

Pourquoi devriez-vous toujours utiliser \'var\' lors de la déclaration de variables en JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-01 09:19:02861parcourir

Why Should You Always Use

Déclarer des variables sans mot-clé « var » : les périls des globaux implicites

Chez w3schools, il est indiqué que les variables déclarées sans le « var » " Le mot-clé devient global. Bien que cela puisse sembler un moyen pratique de déclarer des variables globales, cela peut conduire à un problème important connu sous le nom de « l'horreur des variables globales implicites ».

Considérez l'exemple suivant :

function foo() {
    variable1 = 5;
    varaible2 = 6;
    return variable1 + variable2;
}

Vous pourriez vous attendre à ce que cette fonction renvoie 11 ; cependant, il renvoie NaN en raison d'une faute de frappe sur "varaible2 = 6;" doubler. Pire encore, cette faute de frappe crée par inadvertance une variable globale avec le nom mal orthographié "varaible2".

Le problème survient lorsque cette variable globale est modifiée par inadvertance en dehors de la portée de la fonction "foo", entraînant un comportement inattendu et potentiel failles de sécurité.

Par conséquent, il est fortement recommandé de toujours déclarer les variables à l'aide du mot-clé "var", même pour les variables globales. En déclarant explicitement les variables, vous vous assurez qu'elles sont correctement étendues et évitez les pièges des variables globales implicites.

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