Rumah > hujung hadapan web > Soal Jawab bahagian hadapan > Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

WBOY
Lepaskan: 2022-08-09 16:25:49
ke hadapan
1159 orang telah melayarinya

Artikel ini membawa anda pengetahuan yang berkaitan tentang javascript, yang terutamanya memperkenalkan faedah menggunakan let untuk mengisytiharkan pembolehubah ES6 bukan sahaja memperkenalkan kata kunci let untuk menyelesaikan masalah perisytiharan pembolehubah, tetapi juga konsep skop peringkat blok diperkenalkan. Mari kita lihat. Saya harap ia akan membantu semua orang.

Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web]

Gunakan Let untuk mengisytiharkan pembolehubah

ES6 bukan sahaja memperkenalkan kata kunci let untuk menyelesaikan masalah perisytiharan pembolehubah, tetapi juga memperkenalkan konsep skop peringkat blok.

Skop peringkat blok:

Apabila kod dilaksanakan, apabila pendakap kerinting {<!-- --> ditemui, skop peringkat blok akan dibuat dan pendakap kerinting } akan berakhir dan blok akan dimusnahkan.

   let a = 123;//全局作用域定义
   
   {
   	let a = 456;//然后定义块级作用域
   	console.log(a)//使用的时块级作用域中的a
   }
   console.log(a)//使用的全局作用域中的a
Salin selepas log masuk
有了块级作用域之后它的使用范围跟函数一样被限制在了里面
这样更符合常规语言的逻辑,几乎所有的语言都是这样的,但是因为JS以前有变量提升导致了以前很混乱
现在有了"let"之后有效的改善了这样的局面
Salin selepas log masuk

Pembolehubah global dipasang pada objek global: masalah pencemaran objek global

let a = 123;console.log(a)//输出undefined
Salin selepas log masuk

Jika anda menggunakan var untuk mengisytiharkan tugasan, ia akan dipasang pada objek global
Hanya dengan perubahan sedemikian, kita tidak boleh menolak untuk menggunakan Let

untuk membenarkan pengisytiharan pembolehubah berulang: masalah yang menyebabkan data ditimpa

let untuk mengisytiharkan pembolehubah tidak membenarkan skop semasa Pengisytiharan berulang dalam

promosi pembolehubah? : Masalah penutupan akses data yang pelik

  • Menggunakan let tidak akan mempunyai promosi berubah-ubah, jadi ia tidak boleh digunakan sebelum mentakrifkan let
  • Pelaksanaan asas Di atas , pembolehubah yang diisytiharkan oleh let sebenarnya akan dipertingkatkan, tetapi selepas promosi, ia akan diletakkan dalam "zon mati sementara". Jika pembolehubah yang diakses berada dalam zon mati sementara, ralat akan dilaporkan Cannot access 'a' before initialization
  • Apabila kod berjalan ke pernyataan pengisytiharan pembolehubah, ia akan dialih keluar daripada zon mati sementara

Dalam gelung let pemprosesan khas akan dilakukan

  • Pembolehubah gelung yang diisytiharkan dengan let dalam gelung akan dilayan secara istimewa Setiap kali anda memasuki badan gelung, skop baharu akan dibuka dan pembolehubah gelung akan terikat pada skop ini (setiap gelung menggunakan A. pembolehubah gelung serba baharu)
  • Gunakan let untuk mengisytiharkan pembolehubah gelung dalam kitar semula, dan ia akan dimusnahkan selepas kitar semula tamat
//这时我绑定了10个按钮让咋们在点击时输出对应的ifor (let i = 1; i 
Salin selepas log masuk
  • Apabila menggunakan let Perkara yang sama saya tidak akan diubah suai dalam skop yang sama seperti var
    Untuk butiran, lihat kelemahan menggunakan var untuk mengisytiharkan pembolehubah dalam JS yang saya tulis, yang memperincikan masalah dalam output
  • Pada masa inilet akan mencipta 10 skop yang kelihatan menggunakan i yang sama tetapi sebenarnya menggunakan i yang berbeza.

Contohnya adalah seperti berikut:

Mengapa kita harus menggunakan let untuk menggantikan var ?

Oleh kerana var tidak mempunyai sekatan skop peringkat blok, ia adalah mudah untuk menyebabkan pencemaran berubah-ubah.

Mari kita lihat beberapa masalah yang akan timbul apabila tiada skop peringkat blok sebelum let muncul.

1. Skop pembolehubah

Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

2. Tiada peranan peringkat blok Domain if block

Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

Ini mungkin kelihatan seperti tiada apa-apa, tetapi bagaimana jika senario kita seperti ini?

Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

Kenapa ni? Kami hanya mengubah suai nama di luar blok pernyataan if, tetapi ia menjejaskan output keseluruhan pernyataan if.

3. Kita boleh melihat untuk blok tanpa skop peringkat blok

Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

Tidak tidak kira butang yang kita klik, output adalah bahawa butang kelima telah diklik Mengapa ini? Kerana ini berkaitan dengan penggunaan definisi var kami dalam badan gelung.

Sebelum tiada skop peringkat blok, kami menyelesaikan rasa malu ini melalui penutupan, kerana penutupan mempunyai skop fungsinya sendiri.

Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

Selepas menggunakan let, kita hanya perlu membuat sedikit perubahan, menukar var dalam badan gelung kepada membiarkan, untuk mengelakkan penggunaan sintaks penutupan yang sukar.

Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

Prinsip pelaksanaan let in the loop body:

Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

Anda mungkin bertanya, Bagaimana keadaan sebelum menggunakan var?

Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

Sebelum ES5, kerana jika atau untuk tidak mempunyai konsep skop peringkat blok sedemikian, dalam banyak senario aplikasi tertentu, kami terpaksa bergantung pada skop fungsi untuk menyelesaikannya masalah menggunakan pembolehubah luaran.

Dalam keluarga ES6, let dan (const) telah ditambah, memberikan if dan untuk pernyataan kewujudan skop peringkat blok (var asal tidak mempunyai konsep skop peringkat blok).

Kemunculan let, melalui contoh di atas, boleh dikatakan telah menggantikan kelemahan var yang sedia ada. Kita boleh menganggap let sebagai var yang sempurna, atau sebagai pengubahsuaian, peningkatan dan pengoptimuman var .

Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah

[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web]

Atas ialah kandungan terperinci Analisis terperinci tentang kelebihan menggunakan let untuk mengisytiharkan pembolehubah. 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