Rumah >hujung hadapan web >tutorial js >Bolehkah anda mengakses pembolehubah tempatan secara dinamik mengikut nama dalam JavaScript?
Mengambil Secara Dinamik Pembolehubah Global mengikut Nama dalam JavaScript
Keperluan untuk mengakses pembolehubah global secara dinamik melalui rentetan nama mereka boleh timbul dalam pelbagai senario. Dalam JavaScript, pembolehubah global diisytiharkan di luar mana-mana fungsi atau blok, menjadikannya boleh diakses sepanjang skrip.
Mengakses Pembolehubah Global dengan Objek Tetingkap
Secara tradisinya, pembolehubah global boleh boleh diakses menggunakan objek tetingkap. Sebagai contoh, jika anda mempunyai pembolehubah global bernama someVarName_10 dengan nilai 20, anda boleh mendapatkannya semula menggunakan:
window["someVarName_10"] //returns 20
Mengakses Pembolehubah Setempat Secara Dinamik
Walau bagaimanapun, soalan memfokuskan pada mengakses pembolehubah tempatan secara dinamik mengikut nama. Dalam JavaScript, pembolehubah tempatan yang diisytiharkan dalam fungsi atau blok tidak boleh diakses di luar skopnya.
Akses Dinamik Hanya Mungkin dengan Pembolehubah Global
Penyelesaian yang disediakan dalam jawapan menunjukkan bahawa mengakses pembolehubah secara dinamik mengikut nama hanya boleh dilakukan dengan pembolehubah global. Ia menunjukkan cara menggunakan objek tetingkap untuk mengakses pembolehubah global bernama someVarName_10 dan juga membina namanya secara dinamik menggunakan penggabungan rentetan, seperti dalam contoh kod kedua:
alert(window['someVar' + 'Name_' + num]); //alert 20
Kemas kini (Soalan Disunting)
Soalan yang dikemas kini menjelaskan niat untuk mengakses pembolehubah setempat. Walau bagaimanapun, seperti yang dijelaskan sebelum ini, pembolehubah tempatan tidak boleh diakses di luar skopnya dan tidak boleh diambil secara dinamik mengikut nama.
Atas ialah kandungan terperinci Bolehkah anda mengakses pembolehubah tempatan secara dinamik mengikut nama dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!