Heim > Web-Frontend > js-Tutorial > Hauptteil

Lassen Sie uns über die Unterschiede zwischen var, let und const sprechen (Codebeispiel)

藏色散人
Freigeben: 2023-01-06 16:25:33
nach vorne
2126 Leute haben es durchsucht

Dieser Artikel vermittelt Ihnen relevantes Wissen über JavaScript. Er stellt Ihnen hauptsächlich die Unterschiede zwischen var, let und const vor und stellt auch die Beziehung zwischen ECMAScript und JavaScript vor. Ich hoffe, es hilft allen.

Lassen Sie uns über die Unterschiede zwischen var, let und const sprechen (Codebeispiel)

Was ist JavaScript?

Welche Beziehung besteht zunächst zwischen ECMAScript und JavaScript? 首先,ECMAScript 和 JavaScript 什么关系?

  • ECMAScript是一个国际通过的标准化脚本语言。
  • JavaScript由ECMAScript和DOM、BOM三者组成。 可以简单理解为:ECMAScript是JavaScript的语言规范,JavaScript是ECMAScript的实现和扩展。

var、let、const的区别?

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
Nach dem Login kopieren

2. let和const只能在块作用域里访问

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这个变量
Nach dem Login kopieren

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已经被声明了。
Nach dem Login kopieren

4. const定义常量,而且不能修改,但是在定义的对象时对象属性值可以改变

 const a=2
 a=3
 console.log(a)  //控制台报错
Nach dem Login kopieren
const person = {
    name : 'make',
    sex : '男'
}

person.name = 'test'

console.log(person.name)    //运行发现控制台没有报错,且 person.name 被成功修改
Nach dem Login kopieren

????这是怎么回事呢?

    ECMAScript ist eine international anerkannte standardisierte Skriptsprache.

    JavaScript besteht aus ECMAScript, DOM und BOM. Es kann einfach so verstanden werden: ECMAScript ist die Sprachspezifikation von JavaScript, und JavaScript ist die Implementierung und Erweiterung von ECMAScript.

    Was ist der Unterschied zwischen var, let und const? 1. Es gibt eine Variablen-Promotion für var-deklarierte Variablen, aber keine Variablen-Promotion für let und const

    2. Auf let und const kann nur im Blockbereich zugegriffen werden. 4. Const definiert Konstanten und kann nicht geändert werden, aber der Objektattributwert kann geändert werden, wenn das Objekt definiert wird

    rrreeerrreee
    ? ? ? ? Was ist los?
    • Da es sich bei dem Objekt um einen Referenztyp handelt, speichert die Person nur den Zeiger des Objekts, und das Ändern der Eigenschaften des Objekts ändert nicht den Zeiger des Objekts, sodass diese Situation erfolgreich geändert werden kann. Mit anderen Worten: Durch const definierte Referenztypen sind zulässig, solange sich der Zeiger nicht ändert. Next Wir versuchen, den Zeiger zu ändern, Let -Person verweist auf ein neues Objekt

      und schließlich wird ein Fehler gemeldet. Förderung
    • , es gibt kein Konzept von Blöcken,
    • kann blockübergreifend zugegriffen werden

      . let-definierte

      Variablen
    • ,
    • kann nur im Blockbereich zugegriffen werden

      und Variablen mit demselben Namen können nicht deklariert werden. const wird verwendet, um Konstanten zu definieren. Bei Verwendung muss initialisiert werden (d. h. es muss ein Wert zugewiesen werden, auf den nur im Block zugegriffen werden kann). Gültigkeitsbereich und

      können nicht geändert werden
    • , aber in den definierten Objekteigenschaftenwerten können sich ändern, wenn ein Objekt verwendet wird.
    • Auf keine davon kann funktionsübergreifend zugegriffen werden

    Empfohlenes Lernen: „

    JavaScript-Video-Tutorial🎜“🎜

    Das obige ist der detaillierte Inhalt vonLassen Sie uns über die Unterschiede zwischen var, let und const sprechen (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!