Pembolehubah global JavaScript, biasanya diakses sebagai sifat tetingkap, boleh memberikan cabaran apabila anda perlu menghapuskan kehadirannya untuk skrip berikutnya . Menetapkannya sebagai tidak ditakrifkan mungkin bukan pendekatan yang paling berkesan.
Untuk mengalih keluar pembolehubah dengan berkesan, kita mesti mempertimbangkan kaedah definisinya:
Pembolehubah yang diisytiharkan menggunakan var berada dalam "VariableEnvironment" yang dilampirkan pada skop masing-masing (fungsi atau sifat objek global). Mengalih keluar pembolehubah sedemikian tidak mungkin. Contohnya:
var g_a = 1; // Define using `var` delete g_a; // Returns `false` console.log(g_a); // Outputs: 1
Pembolehubah yang diisytiharkan tanpa var dicari dalam "LexicalEnvironment," struktur hierarki persekitaran. LexicalEnvironment peringkat atas mengikat objek global, membenarkan akses kepada sifatnya tanpa var. Sifat ini boleh dipadamkan:
g_b = 1; // Define without `var` delete g_b; // Returns `true` console.log(g_b); // Error: `g_b` not defined
Rujukan yang dibuat menggunakan var disimpan dalam VariableEnvironment, yang melarang pemadaman kecuali dalam konteks eval (bukan biasa dalam pembangunan pelayar).
LexicalEnvironments bersarang, membolehkan perolehan semula harta daripada objek global jika rujukan tidak ditemui dalam persekitaran semasa atau luar. Sifat pada objek, seperti dalam kes ini, boleh dialih keluar.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Pembolehubah JavaScript dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!