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

Explication détaillée de la portée au niveau du bloc ES6

小云云
Libérer: 2018-01-26 16:45:57
original
1565 Les gens l'ont consulté

Comme nous le savons tous, le langage JavaScript avant ES5 n'avait qu'une portée de fonction et une portée globale. En utilisant var pour déclarer des variables, les variables déclarées avec var ont toujours une promotion de variable, ce qui prête à confusion. Examinons d'abord la déclaration var d'ES5, puis comparons let et const.

var

Portée de la fonction de déclaration Var et portée globale.

Regardons le code :

function getName() {
 if (1 + 1 === 2) {
 var name = 'xixi';
 }

 console.log(name);
}

getName();//xixi
Copier après la connexion

En langage C ou Java, le nom ne doit être utilisé que dans le bloc if, mais il est également accessible en dehors du if , c'est une manifestation du fait que js n'a pas de portée au niveau du bloc. Cet inconvénient est très évident dans la boucle for :

for (var i = 0; i < 10; i ++) {
 // ...
}

console.log(i);// 10
Copier après la connexion

L'intention initiale de var i est de déclarer une variable temporaire i, qui est utilisée pour parcourir des tableaux, etc. Elle ne doit pas être accessible en dehors de la boucle for boucle, mais maintenant Mais on peut y accéder pour vous dire si c'est gênant ou pas ? Les meilleurs programmeurs utiliseront des fonctions d'exécution immédiate pour simuler la portée au niveau du bloc. À l'origine, je ferais attention et j'essaierais de ne pas utiliser le même nom de variable.

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!

É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