Maison > Article > interface Web > Une question sur la portée en JS
Cette fois, je vous pose une question sur le scope en JS. Quelles sont les précautions concernant le scope en JS Voici un cas pratique, jetons un oeil.
var a = 1;function foo () { console.log(a); var a = 2; console.log(a); } foo();
Veuillez écrire respectivement les valeurs de sortie du premier console.log et du deuxième console.log.
JavascriptFonction Séquence d'initialisation de la variable
Période de pré-exécution
1 La déclaration de fonction est initialisée. et placé Accédez à la fenêtre de la variable globale (contexte global)
2. La variable déclarée par var est placée dans la fenêtre de la variable globale (contexte global), ou dans le contexte où se trouve var, comme à l'intérieur de la fonction, et le la valeur initiale n'est pas définie
Période d'exécution
Lorsque le code est exécuté, une affectation de variable aura lieu. Les variables déclarées sans var ne sont créées qu'après l'exécution du code, puis placées dans la fenêtre des variables globales (contexte global)
Contexte Javascript
Contexte global : Fenêtre
Fonction contexte : les variables déclarées à l'aide de var dans une fonction sont des variables locales et seront récupérées après avoir quitté la portée de la fonction. Les fermetures ne sont pas ramassées.
Autrement dit, les variables déclarées par var seront placées dans le contexte correspondant pendant la période de pré-exécution, puis pendant la période d'exécution, les variables dans le contexte correspondant seront affectées.
Réponse
non défini 2
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour un contenu plus passionnant, veuillez faire attention au site Web chinois php Autres articles connexes !
Lecture recommandée :Tutoriel pour débutant angulaire
Tutoriel pour débutant Node.js (2)
Tutoriel Node.js pour débutants (1)
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!