Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Menggunakan Nama Pembolehubah Dinamik dalam JavaScript?

Bagaimanakah Saya Boleh Menggunakan Nama Pembolehubah Dinamik dalam JavaScript?

Linda Hamilton
Lepaskan: 2024-12-18 22:10:10
asal
1004 orang telah melayarinya

How Can I Use Dynamic Variable Names in JavaScript?

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
Salin selepas log masuk

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;
Salin selepas log masuk

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
Salin selepas log masuk

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();
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan