Rumah >hujung hadapan web >tutorial js >Apakah Perbezaan dalam Sintaks Pengisytiharan Pembolehubah Javascript dan Implikasinya?
Menjelaskan Perbezaan dalam Sintaks Pengisytiharan Pembolehubah dalam Javascript
Dalam skop global Javascript, pengisytiharan pembolehubah dengan sintaks yang berbeza sememangnya boleh membawa kepada variasi yang halus.
Mengenai anda pilihan:
1. var a = 0;
Mengisytiharkan pembolehubah dengan "var" mencipta pembolehubah global yang juga wujud sebagai sifat objek global (cth., "tetingkap" dalam penyemak imbas atau "globalThis" dalam ES2020) . Sifat ini tidak boleh dialih keluar menggunakan "padam" kerana ia adalah pengikat pengecam.
2. a = 0;
Awas: Sintaks ini amat tidak digalakkan. Tanpa kata kunci "var" atau "let", Javascript menganggap ini pembolehubah global tersirat, tetapi ia menjadi ralat dalam mod ketat. Oleh itu, ia bukanlah amalan yang disyorkan.
3. tingkap.a = 0; atau globalThis.a = 0;
Sintaks ini secara eksplisit memberikan sifat kepada objek global. Tidak seperti "var", sifat ini boleh dialih keluar dengan "padam."
4. this.a = 0;
Menetapkan kepada "ini" mewujudkan sifat global, tetapi ia tidak disyorkan kerana ia boleh membawa kepada kesamaran dalam pengendali acara.
Tambahan Sintaks ES2015:
1.1 biarkan a = 0;
"let" mengisytiharkan pembolehubah global yang bukan sifat objek global. Pengikatan pengecam dibuat pada permulaan blok yang disertakan tetapi hanya boleh diakses apabila pelaksanaan kod mencapai pengisytiharan "let".
1.2 const a = 0;
Serupa dengan "let," "const" mengisytiharkan pemalar global yang bukan milik objek global. Walau bagaimanapun, nilai pemalar tidak boleh diubah.
Atas ialah kandungan terperinci Apakah Perbezaan dalam Sintaks Pengisytiharan Pembolehubah Javascript dan Implikasinya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!