Maison > interface Web > js tutoriel > Quelles sont les différences entre les variables définies let et var dans js ?

Quelles sont les différences entre les variables définies let et var dans js ?

亚连
Libérer: 2018-06-06 17:50:40
original
2215 Les gens l'ont consulté

Cet article présente principalement la différence entre les variables définies let et var dans js. Il est très bon et a une valeur de référence. Les amis dans le besoin peuvent s'y référer

mode strict javascript. 🎜 >

C'est la première fois que je rencontre le mot-clé let. Un concept auquel il faut prêter attention est le "mode strict javascript". code est exécuté, une erreur sera signalée :

let hello = 'hello world.';
console.log(hello);
Copier après la connexion

Le message d'erreur est le suivant :

let hello = 'hello world.';
^^^
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
 ...
Copier après la connexion

La solution est d'ajouter l'instruction "javascript strict mode" dans le fichier en-tête :

'use strict';
let hello = 'hello world.';
console.log(hello);
Copier après la connexion

clés let et var Similitudes et différences de mots

Aucune valeur attribuée après déclaration, la performance est la même

'use strict';
(function() {
 var varTest;
 let letTest;
 console.log(varTest); //输出undefined
 console.log(letTest); //输出undefined
}());
Copier après la connexion

En utilisant des variables non déclarées, les performances sont différentes :

(function() {
 console.log(varTest); //输出undefined(注意要注释掉下面一行才能运行)
 console.log(letTest); //直接报错:ReferenceError: letTest is not defined
 var varTest = 'test var OK.';
 let letTest = 'test let OK.';
}());
Copier après la connexion

Dupliquer Lors de la déclaration de la même variable, le comportement est différent :

'use strict';
(function() {
 var varTest = 'test var OK.';
 let letTest = 'test let OK.';
 var varTest = 'varTest changed.';
 let letTest = 'letTest changed.'; //直接报错:SyntaxError: Identifier 'letTest' has already been declared
 console.log(varTest); //输出varTest changed.(注意要注释掉上面letTest变量的重复声明才能运行)
 console.log(letTest);
}());
Copier après la connexion

La portée de la variable a un comportement différent.

'use strict';
(function() {
 var varTest = 'test var OK.';
 let letTest = 'test let OK.';
 {
 var varTest = 'varTest changed.';
 let letTest = 'letTest changed.';
 }
 console.log(varTest); //输出"varTest changed.",内部"{}"中声明的varTest变量覆盖外部的letTest声明
 console.log(letTest); //输出"test let OK.",内部"{}"中声明的letTest和外部的letTest不是同一个变量
}());
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 :

Explication détaillée de l'introduction du composant elementUI dans le projet vue

Comment l'implémenter en tant que paramètre de page séparé dans Vue-cli Couleur d'arrière-plan

Actualisation et changement d'onglet dans vue

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:
js
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