1. Comprenez d'abord la portée de la fonction
En JavaScript, la définition des variables n'est pas limitée au bloc de code, mais à la portée de la fonction. Autrement dit, si une variable est définie dans une fonction, elle n'est pas visible en dehors de la fonction. Et si la variable est définie dans un bloc de code comme if ou for, elle est visible en dehors du bloc de code. De plus, en JavaScript, le terme « variables globales » fait référence à des variables définies en dehors de toutes les fonctions, par opposition aux « variables locales », qui font référence à des variables au sein d'une certaine fonction. Parmi eux, le code de la fonction peut accéder aux variables globales tout comme accéder à ses propres variables locales, mais pas l'inverse.
2. Promotion des variables
Il y a en fait une phase de compilation avant l'exécution du code JavaScript. Après compilation, il est interprété et exécuté de haut en bas, ligne par ligne. La promotion des variables a lieu pendant la phase de compilation et favorise la déclaration des variables et des fonctions en haut de la portée. (L'une des tâches de la phase de compilation est d'associer les variables à leurs portées).
Donc, pour le code var a =2;, le compilateur voit deux lignes de code var a = 2; La première instruction est une instruction de déclaration, qui est traitée lors de la phase de compilation. La deuxième instruction est une instruction d'affectation et est traitée pendant la phase d'exécution.
1. La partie promue est uniquement la déclaration de variable, l'instruction d'affectation et la logique du code exécutable restent en place
2. La partie promue promeut uniquement la déclaration de variable en haut de la portée de la variable où se trouve la variable. est localisé et non promu à la portée globale
3. Les déclarations de variables et les déclarations de fonctions seront promues, mais les déclarations de fonctions seront promues en premier, suivies des déclarations de variables.
4. Pour les déclarations de fonction, si la même déclaration de variable de fonction est définie, la déclaration définie ultérieurement écrasera la déclaration précédente
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!