Maison > interface Web > js tutoriel > Compréhension approfondie des variables javascript déclaration_basic connaissances

Compréhension approfondie des variables javascript déclaration_basic connaissances

WBOY
Libérer: 2016-05-16 16:30:50
original
1479 Les gens l'ont consulté

Par rapport à C/C, la boucle for dans ECMAScript ne peut pas créer de contexte local.

Copier le code Le code est le suivant :

pour (var k dans {a : 1, b : 2}) {
alerte(k);
}

alert(k); // Bien que la boucle soit terminée, la variable k est toujours dans la portée actuelle
A tout moment, une variable ne peut être déclarée qu'en utilisant le mot-clé var.

La déclaration d'affectation ci-dessus :

a = 10;
Cela crée simplement une nouvelle propriété sur l'objet global (mais ce n'est pas une variable). "Pas une variable" ne signifie pas qu'elle ne peut pas être modifiée, mais qu'elle n'est pas conforme au concept de variable dans la spécification ECMAScript, ce n'est donc "pas une variable" (la raison pour laquelle elle peut devenir une propriété de l'objet global C'est entièrement parce qu'il y a un global dans l'objet JavaScript, cette opération ne consiste pas à déclarer une variable mais à ajouter un attribut a
à l'objet global.
Regardons un exemple simple pour illustrer le problème

Copier le code Le code est le suivant :

if (!("a" dans la fenêtre)) {
var a = 1;
>
alerte(a);

Tout d'abord, toutes les variables globales sont des attributs de window. L'instruction var a = 1;
Vous pouvez utiliser la méthode suivante pour vérifier si une variable globale est déclarée

"Nom de la variable" dans la fenêtre

Deuxièmement, toutes les déclarations de variables sont en haut de la portée, regardez un exemple similaire :



Copier le code Le code est le suivant :
alert("a" dans la fenêtre);
var un

À ce stade, même si la déclaration est après l'alerte, l'alerte apparaît toujours comme vraie. En effet, le moteur JavaScript analysera d'abord toutes les déclarations de variables, puis déplacera ces déclarations de variables vers le haut du code final. l'effet est comme ceci :

Copier le code Le code est le suivant :
var a;
alert("a" dans la fenêtre);

Troisièmement, vous devez comprendre que le sens de cette question est que la déclaration de variable est avancée, mais pas l'affectation de variable, car cette ligne de code comprend la déclaration de variable et l'affectation de variable.


Vous pouvez diviser la déclaration en code comme ceci :

Copier le code Le code est le suivant :
var a; //Déclaration
a = 1; //Affectation d'initialisation

Donc pour résumer, lorsque la déclaration de variable et l'affectation sont utilisées ensemble, le moteur JavaScript la divisera automatiquement en deux parties afin d'avancer la déclaration de variable. La raison pour laquelle l'étape d'affectation n'est pas avancée est qu'elle peut affecter la déclaration de variable. exécution du code résultat attendu.


Le code dans la question est équivalent à :

Copier le code Le code est le suivant :
var a;
if (!("a" dans la fenêtre)) {
une = 1;
>
alerte(a);


D'après l'analyse de l'exemple ci-dessus, lors de la déclaration d'une variable, vous devez ajouter var avant la variable locale déclarée. Si vous déclarez une variable globale, vous n'avez pas besoin d'ajouter var (il est préférable de limiter le nombre de var). variables globales et essayez d'utiliser des variables locales)

Ce qui suit décrit plusieurs fonctionnalités de l'utilisation de var

Utiliser l'instruction var pour déclarer une variable plusieurs fois est non seulement légal, mais ne provoque également aucune erreur.
Si une instruction réutilisée a une valeur initiale, elle agit simplement comme une instruction d'affectation.
Si une déclaration est réutilisée sans valeur initiale, elle n'aura aucun effet sur la variable d'origine.
Les variables déclarées sans var existent en tant que variables globales ; les variables déclarées avec var sont des variables locales, notamment dans les fonctions. De plus, après test, la déclaration avec var est plus rapide que sans var. Configurez autant de variables locales que possible dans la fonction, afin qu'elle soit sûre et rapide, et que les opérations sur les variables soient plus raisonnables. Les erreurs logiques ne seront pas causées par une manipulation aléatoire des variables globales dans la fonction.

Lors de la déclaration d'un objet, il est préférable d'utiliser la méthode self-face de l'objet, qui est beaucoup plus rapide que la nouvelle méthode.

Le nom de la variable est choisi par vous-même. Afin de prendre soin de la sémantique et des spécifications, le nom de la variable peut être légèrement plus long, mais veuillez noter que la longueur du nom de la variable affectera également la vitesse d'exécution du code. Les déclarations avec des noms de variables longs ne s'exécutent pas aussi rapidement que les déclarations courtes.

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal