Rumah >hujung hadapan web >tutorial js >Bagaimana Saya Menyahset Pembolehubah JavaScript?
Menyahset Pembolehubah JavaScript
Masalah:
Pembolehubah global dalam JavaScript boleh ditetapkan dan diakses oleh berbilang skrip. Walau bagaimanapun, mungkin terdapat keadaan apabila pembolehubah perlu dialih keluar daripada skop global, memastikan skrip seterusnya tidak dapat mengesan kewujudan atau nilainya.
Penyelesaian:
The pendekatan yang betul untuk menyahset pembolehubah JavaScript bergantung pada cara ia ditakrifkan pada mulanya.
1. Pembolehubah Ditakrifkan dengan var:
Pembolehubah yang diisytiharkan menggunakan kata kunci var tidak boleh dinyahset menggunakan operator padam. Ia dilampirkan secara kekal pada skop global dan tidak boleh dialih keluar.
var globalVar = 1; delete globalVar; // Returns false console.log(globalVar); // Outputs 1
2. Pembolehubah Ditakrifkan Tanpa var:
Pembolehubah yang dibuat tanpa kata kunci var dilampirkan secara tersirat pada objek global (biasanya tetingkap). Ia boleh dinyahset menggunakan operator padam.
globalVar = 1; delete globalVar; // Returns true console.log(globalVar); // Throws ReferenceError
Penjelasan Teknikal:
Spesifikasi ECMAScript mentakrifkan dua jenis persekitaran tempat pembolehubah disimpan:
Pembolehubah yang diisytiharkan dengan var disimpan dalam VariableEnvironment, yang dilampirkan pada skop semasa. Mengalih keluar pembolehubah ini memerlukan pelaksanaan kod dalam konteks eval, yang biasanya tidak digunakan dalam persekitaran berasaskan penyemak imbas.
Pembolehubah yang ditakrifkan tanpa var terletak dalam LexicalEnvironment, yang bersarang. Jika pembolehubah tidak ditemui dalam persekitaran semasa, JavaScript mencari persekitaran induk. Akhirnya, ia cuba mendapatkan semula harta daripada objek global. Sifat pada objek boleh dipadamkan.
Nota:
Atas ialah kandungan terperinci Bagaimana Saya Menyahset Pembolehubah JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!