let et var peuvent définir des variables en js. Cet article vous présente principalement la différence entre let et var définissant des variables en js. Il est très bon et a une valeur de référence. J'espère que les amis qui en ont besoin pourront s'y référer. cela peut aider tout le monde.
mode strict javascript
Lorsque vous entrez pour la première fois en contact avec le mot-clé let, un concept auquel vous devez prêter une attention particulière est le "mode strict javascript". le code suivant s'exécutera Rapport d'erreur :
let hello = 'hello world.'; console.log(hello);
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 ...
La solution est d'ajouter l'instruction "javascript strict mode" dans l'en-tête du fichier :
'use strict'; let hello = 'hello world.'; console.log(hello);
let et Similitudes et différences du mot-clé var
Aucune valeur n'est attribuée après déclaration, les performances sont les mêmes
'use strict'; (function() { var varTest; let letTest; console.log(varTest); //输出undefined console.log(letTest); //输出undefined }());
En utilisant des variables non déclarées, les performances est différent :
(function() { console.log(varTest); //输出undefined(注意要注释掉下面一行才能运行) console.log(letTest); //直接报错:ReferenceError: letTest is not defined var varTest = 'test var OK.'; let letTest = 'test let OK.'; }());
Déclaration répétée 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); }());
Portée de la 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.'; } console.log(varTest); //输出"varTest changed.",内部"{}"中声明的varTest变量覆盖外部的letTest声明 console.log(letTest); //输出"test let OK.",内部"{}"中声明的letTest和外部的letTest不是同一个变量 }());
Connexe recommandations :
Explication détaillée des variables prédéfinies PHP
Comment définir des variables en 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!