Rumah >hujung hadapan web >tutorial js >Apakah Perbezaan dalam Sintaks Pengisytiharan Pembolehubah Javascript (Termasuk Pembolehubah Global)?

Apakah Perbezaan dalam Sintaks Pengisytiharan Pembolehubah Javascript (Termasuk Pembolehubah Global)?

Patricia Arquette
Patricia Arquetteasal
2024-12-01 21:24:12200semak imbas

What are the Differences in Javascript Variable Declaration Syntaxes (Including Global Variables)?

Perbezaan dalam Sintaks Pengisytiharan Pembolehubah dalam Javascript (Termasuk Pembolehubah Global)

Pengenalan

Javascript menyediakan berbilang sintaks untuk mengisytiharkan pembolehubah , termasuk kata kunci var, let dan const. Sintaks ini berbeza dalam tingkah laku, skop dan interaksinya dengan objek global.

Perbezaan dalam Sintaks dan Gelagat

1. var a = 0;

  • Mengisytiharkan pembolehubah global, yang menjadi hak milik objek global (tetingkap pada penyemak imbas atau mungkin ini pada platform lain).
  • Pembolehubah pengikatan dibuat sebelum sebarang kod dijalankan, menjadikannya boleh diakses di seluruh skop global.
  • Harta yang dicipta ialah boleh dikira.

1.1 biarkan a = 0; (Diperkenalkan pada ES2015)

  • Mengisytiharkan pembolehubah global dalam persekitaran global tetapi bukan sebagai harta objek global.
  • Pengikatan pembolehubah dibuat sebelum pelaksanaan kod, tetapi pembolehubah tidak boleh diakses sehingga pernyataan let dicapai (Zon Mati Temporal).
  • Pembolehubah ialah berskop blok, tidak seperti var.

1.2 const a = 0; (Diperkenalkan pada ES2015)

  • Serupa dengan let tetapi mengisytiharkan pembolehubah malar (tidak berubah).
  • Mesti diberikan nilai awal.
  • Mencegah kemalangan penugasan semula.

2. a = 0;

  • Percubaan untuk mengisytiharkan pembolehubah global secara tersirat tanpa menggunakan kata kunci.
  • Sangat tidak digalakkan dan boleh menyebabkan ralat, terutamanya dalam mod ketat.

3. window.a = 0;

  • Menetapkan sifat secara eksplisit kepada objek global, dengan berkesan mewujudkan pembolehubah global.
  • Juga boleh ditulis sebagai globalThis.a = 0; (diperkenalkan dalam ES2020) atau ini.a = 0; dalam skop global.

4. this.a = 0;

  • Serupa dengan window.a = 0; tetapi gunakan ini untuk mengakses objek global.
  • Boleh digunakan untuk keserasian ke belakang atau untuk mengelakkan potensi isu dengan pengurangan atau pengoptimuman lain.

Atas ialah kandungan terperinci Apakah Perbezaan dalam Sintaks Pengisytiharan Pembolehubah Javascript (Termasuk Pembolehubah Global)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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