Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menetapkan Pembolehubah JavaScript Secara Dinamik Menggunakan Rentetan?

Bagaimanakah Saya Boleh Menetapkan Pembolehubah JavaScript Secara Dinamik Menggunakan Rentetan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-08 10:10:11439semak imbas

How Can I Dynamically Assign JavaScript Variables Using Strings?

Menukar Rentetan kepada Nama Pembolehubah dalam JavaScript

Apabila menghantar rentetan ke dalam fungsi, pembangun sering menghadapi cabaran untuk menetapkan pembolehubah yang sepadan dalam fungsi. Artikel ini membentangkan penyelesaian menggunakan objek tetingkap untuk mengakses pembolehubah global secara dinamik mengikut nama rentetannya.

Khususnya, untuk menetapkan pembolehubah sahajaVideo dalam fungsi, kod berikut boleh digunakan:

window["onlyVideo"] = something;

Pendekatan ini membenarkan penugasan dinamik pembolehubah berdasarkan rentetan, menghapuskan keperluan untuk penyataan if berkod keras.

Sebagaimana alternatif, objek JavaScript menyediakan mekanisme yang lebih mantap untuk mengurus dan mengakses sifat dengan nama rentetannya. Contoh mudah menunjukkan cara mencipta dan memanipulasi objek JavaScript:

// create JavaScript object
var obj = { "key1": 1 };

// assign - set "key2" to 2
obj.key2 = 2;

// read values
console.log(obj.key1 === 1);
console.log(obj.key2 === 2);

// read values with a string, same result as above
// but works with special characters and spaces
// and of course variables
console.log(obj["key1"] === 1);
console.log(obj["key2"] === 2);

// read with a variable
var key1Str = "key1";
console.log(obj[key1Str] === 1);

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menetapkan Pembolehubah JavaScript Secara Dinamik Menggunakan Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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