Rumah >hujung hadapan web >tutorial js >Bolehkah anda mengakses pembolehubah tempatan secara dinamik mengikut nama dalam JavaScript?

Bolehkah anda mengakses pembolehubah tempatan secara dinamik mengikut nama dalam JavaScript?

Patricia Arquette
Patricia Arquetteasal
2024-11-14 11:24:02961semak imbas

Can you dynamically access local variables by name in 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!

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