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

Utilisation de l'instruction let pour déclarer la portée en JavaScript (tutoriel image et texte)

亚连
Libérer: 2018-05-21 13:40:50
original
1363 Les gens l'ont consulté

Tout d'abord, veuillez noter que let est quelque chose dans ES6, au moins il est compatible avec les navigateurs IE avant IE10, alors soyez prudent ! Eh bien... Voyons ensuite l'utilisation de l'instruction let pour déclarer la portée en JavaScript.

Syntaxe

let variable1 = value1
Copier après la connexion

Paramètresvariable1
Le nom de la variable à déclarer.
value1
La valeur initiale attribuée à la variable.

RemarquesUtilisez l'instruction let pour déclarer une variable dont la portée est limitée au bloc dans lequel elle est déclarée. Vous pouvez attribuer une valeur à une variable lorsque vous la déclarez, ou vous pouvez attribuer une valeur à la variable ultérieurement dans le script.
Les variables déclarées avec let ne peuvent pas être utilisées avant la déclaration, sinon une erreur se produira.
Si votre variable n'est pas initialisée dans une instruction let, la valeur JavaScript non définie lui sera automatiquement attribuée.

Exemple :

var l = 10;
{
  let l = 2;
  // At this point, l = 2.
}
// At this point, l = 10.

// Additional ways to declare a variable using let.
let index;
let name = "Thomas Jefferson";
let answer = 42, counter, numpages = 10;
let myarray = new Array();
Copier après la connexion

Portée au niveau du bloc

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

for(let j = 0; j < 10; j++){}
console.log(j); //"ReferenceError: j is not defined
Copier après la connexion

Aucune promotion variable

console.log(a); // 输出undefined
console.log(b); // 报错ReferenceError
console.log(c); // 报错ReferenceError
var a = 2;
let b = 2;
Copier après la connexion

Notez la différence entre undefined et ReferenceError

Temporary Dead Zone (TDZ)Tant que vous entrez dans la portée actuelle au niveau du bloc, les variables utilisées existent déjà, mais avant elles sont déclarés C'est une zone morte et ne peut pas être exploitée.
Remarque : typeof n'est plus une opération sûre à 100 %

typeof x; // ReferenceError
typeof y // undefined
let x;
Copier après la connexion

Les déclarations en double ne sont pas autorisées

let x = 1;
let x; // "SyntaxError: Identifier &#39;x&#39; has already been declared

var y = 2;
var y = 3; // y = 3
Copier après la connexion

Portée au niveau du bloc

// 匿名函数写法
(function () {
 var tmp = ...;
 ...
}());

// 块级作用域写法
{
 let tmp = ...;
 ...
}
Copier après la connexion

Le mode strict d'ES5 stipule que les fonctions ne peuvent être déclarées que dans la portée de niveau supérieur et dans les déclarations de fonction dans d'autres situations (comme les blocs de code if et les blocs de code de boucle). signalera les erreurs.

// ES5
&#39;use strict&#39;;
if (true) {
 function f() {} // 报错
}
Copier après la connexion

Depuis que ES6 introduit la portée au niveau du bloc, cette situation peut être comprise car la fonction est déclarée dans la portée au niveau du bloc, donc aucune erreur n'est signalée, mais les accolades qui constituent le bloc ne peuvent pas être less

// 报错
&#39;use strict&#39;;
if (true)
 function f() {}
Copier après la connexion

Les variables globales déclarées ne sont plus des attributs de la fenêtre

"use strict";
var a = 1;
console.log(window.a) // 1

let b = 1;
console.log(window.b) // undefined
Copier après la connexion

Ce qui précède est ce que j'ai compilé pour tout le monde. J'espère que cela sera utile à tout le monde à l'avenir. .

Articles connexes :

Compréhension approfondie et utilisation pratique de la fonction javascript (code ci-joint)

JavaScript Compétences mentales de base (tutoriels d'images et de texte, réponses détaillées pour vous)

Réponses détaillées sur les modules JavaScript

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