Menggunakan Nama Pembolehubah Dinamik dalam JavaScript
Dalam PHP, nama pembolehubah boleh dimanipulasi secara dinamik. Sebagai contoh, diberikan kod PHP berikut:
$a = 1; $b = 2; $c = 3; $name = 'a'; echo $$name; // prints 1
Adakah terdapat cara yang setara untuk mencapai fungsi ini dalam JavaScript?
JavaScript Solution
Walaupun JavaScript tidak menyokong nama pembolehubah dinamik dengan cara yang sama seperti PHP, ia menyediakan mekanisme untuk mengakses pembolehubah secara dinamik menggunakan objek dan harta. notasi titik atau kurungan.
Seperti bahasa pengaturcaraan lain, setiap pembolehubah dalam JavaScript disimpan dalam objek yang dipanggil Objek Pembolehubah, yang merupakan sebahagian daripada skop semasa (sama ada global atau tempatan).
Jika kita mempunyai pembolehubah global berikut:
var a = 1; var b = 2; var c = 3;
Kita boleh mengaksesnya secara dinamik dengan menggunakan notasi "titik" atau "kurungan" pada objek tetingkap, yang merupakan objek global dalam penyemak imbas:
var name = "a"; var value = window[name]; // returns 1 // or value = window['a']; // returns 1
Adalah penting untuk ambil perhatian bahawa pendekatan ini hanya berfungsi untuk objek global. Dalam konteks fungsi, pembolehubah disimpan dalam Objek Pembolehubah bagi Objek Pengaktifan, yang tidak boleh diakses secara langsung.
Contohnya:
function foobar() { this.a = 1; this.b = 2; var name = "a"; console.log(window['a']); // undefined console.log(this['a']); // 1 } new foobar();
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Nama Pembolehubah Dinamik dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!