Mari kita bincangkan tentang perbezaan antara var, let dan const (contoh kod)

藏色散人
Lepaskan: 2023-01-06 16:25:33
ke hadapan
2128 orang telah melayarinya

Artikel ini membawakan anda pengetahuan yang berkaitan tentang JavaScript terutamanya memperkenalkan kepada anda perbezaan antara var, let dan const, serta hubungan antara ECMAScript dan JavaScript, saya harap ia membantu semua orang .

Mari kita bincangkan tentang perbezaan antara var, let dan const (contoh kod)

Apakah itu JavaScript?

首先,ECMAScript 和 JavaScript 什么关系?

  • ECMAScript ialah bahasa skrip standard yang diluluskan di peringkat antarabangsa.
  • JavaScript terdiri daripada ECMAScript, DOM dan BOM. Ia boleh difahami secara ringkas sebagai: ECMAScript ialah spesifikasi bahasa JavaScript, dan JavaScript ialah pelaksanaan dan lanjutan ECMAScript.

Apakah perbezaan antara var, let dan const?

1 Pembolehubah pengisytiharan var wujud 变量提升, let dan const tidak mempunyai promosi berubah

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
Salin selepas log masuk

2. let dan const hanya boleh diakses dalam skop blok

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这个变量
Salin selepas log masuk

3 Let dan const tidak boleh mengisytiharkan pembolehubah dengan nama yang sama dalam skop yang sama, tetapi var boleh

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已经被声明了。
Salin selepas log masuk

4. const mentakrifkan pemalar dan tidak boleh diubah suai, 但是在定义的对象时对象属性值可以改变

 const a=2
 a=3
 console.log(a)  //控制台报错
Salin selepas log masuk
const person = {
    name : 'make',
    sex : '男'
}

person.name = 'test'

console.log(person.name)    //运行发现控制台没有报错,且 person.name 被成功修改
Salin selepas log masuk

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

kerana objek ialah jenis rujukan, apa yang disimpan secara peribadi hanyalah penunjuk objek, dan mengubah suai sifat objek dengan tidak akan mengubah penunjuk objek , jadi dalam kes ini pengubahsuaian akan berjaya. Dalam erti kata lain, jenis rujukan yang ditakrifkan oleh const dibenarkan selagi penunjuk tidak berubah.

Seterusnya kami cuba mengubah suai penunjuk, biarkan orang menunjuk ke objek baharu dan akhirnya ralat dilaporkan

const person = {
  name : 'make',
  sex : '男'}person = {
  name : 'test',
  sex : '男'}console.log(person.name)  //控制台报错
Salin selepas log masuk

5 Ringkasan

  • var-defined pembolehubah, promosi pembolehubah, tiada konsep daripada blok,Boleh diakses merentas blok.

  • let mentakrifkan pembolehubah , hanya boleh mengakses dalam skop blok dan tidak boleh mengisytiharkan pembolehubah dengan nama yang sama.

  • const digunakan untuk mentakrifkan pemalar Apabila digunakan, mesti memulakan (iaitu, ia mesti diberikan nilai dengan nama yang sama tidak boleh diisytiharkan. hanya boleh diakses dalam skop blok dan tidak boleh mengubah suai , tetapi nilai sifat objek boleh ditukar apabila objek ditentukan.

  • Tiada satu pun daripada mereka boleh diakses merentas fungsi

Pembelajaran yang disyorkan: "Tutorial Video JavaScript"

Atas ialah kandungan terperinci Mari kita bincangkan tentang perbezaan antara var, let dan const (contoh kod). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:csdn.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!