Cet article vous apporte des connaissances pertinentes sur JavaScript. Il vous présente principalement les différences entre var, let et const, ainsi que la relation entre ECMAScript et JavaScript. Les amis intéressés devraient y jeter un œil.
Tout d'abord, quelle est la relation entre ECMAScript et JavaScript ?
首先,ECMAScript 和 JavaScript 什么关系?
1. var声明变量存在变量提升
,let和const不存在变量提升
console.log(a); // undefined ===> a已声明还没赋值,默认得到undefined值 console.log(b); // 报错:b is not defined ===> 找不到b这个变量 console.log(c); // 报错:c is not defined ===> 找不到c这个变量 var a = 100; let b = 10; const c = 10; console.log(a);//a=100
if(1){ var a = 100; let b = 10; const c = 1; } console.log(a); // 100 console.log(b) // 报错:b is not defined ===> 找不到b这个变量 console.log(c) // 报错:c is not defined ===> 找不到c这个变量
3. 同一作用域下let和const不能声明同名变量,而var可以
var a = 100; console.log(a); //控制台输出 100 var a = 10; console.log(a); //控制台输出 10 let a = 100; let a = 10; // 控制台报错:Identifier 'a' has already been declared ===> 标识符a已经被声明了。
4. const定义常量,而且不能修改,但是在定义的对象时对象属性值可以改变
const a=2 a=3 console.log(a) //控制台报错
const person = { name : 'make', sex : '男' } person.name = 'test' console.log(person.name) //运行发现控制台没有报错,且 person.name 被成功修改
????这是怎么回事呢?
JavaScript est composé d'ECMAScript, DOM et BOM. Cela peut être simplement compris comme suit : ECMAScript est la spécification du langage JavaScript, et JavaScript est l'implémentation et l'extension d'ECMAScript.
Quelle est la différence entre var, let et const ? 1. Il y a une promotion de variable
pour les variables déclarées var, mais il n'y a pas de promotion de variable pour let et const
const person = { name : 'make', sex : '男'}person = { name : 'test', sex : '男'}console.log(person.name) //控制台报错
2. let et const ne sont accessibles que dans la portée du blocrrreee
3. Let et const ne peuvent pas déclarer de variables portant le même nom dans la même portée, mais var peutdans la portée du bloc, et les variables du même nom ne peuvent pas être déclarées. Lorsqu'elle est utilisée,rrreee
let ne sont accessibles que- .
4. Const définit des constantes et ne peut pas être modifié,
, cette situation sera donc modifiée avec succès. En d'autres termes, les types référence définis par const sont autorisés tant que le pointeur ne change pas.mais la valeur de l'attribut de l'objet peut être modifiée lorsque l'objet est défini
rrreeerrreee? ? ? ? Que se passe-t-il?
Parce que l'objet est un type référence, la personne enregistre uniquement le pointeur de l'objet, et la modification des propriétés de l'objet ne changera pas le pointeur de l'objetEnsuite, nous essayons de modifier le pointeur, laissons la personne pointer vers un nouvel objet, et enfin une erreur est signalée
rrreee- est accessible
5 Résumévar défini variables, variable. promotion
, il n'y a pas de concept de blocs,- à travers les blocs. Les
variables définies par
doit être initialisée (c'est-à-dire qu'une valeur doit être attribuée. Les variables portant le même nom ne peuvent pas être déclarées uniquement dans le bloc). scope, et
ne peuvent pas être modifiés 🎜, mais dans les valeurs de propriété Object définies peuvent changer lorsqu'un objet est utilisé. 🎜🎜🎜🎜🎜Aucun d'entre eux n'est accessible à travers les fonctions🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜Apprentissage recommandé : "🎜Tutoriel vidéo 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!