Rumah > Artikel > hujung hadapan web > Bolehkah Anda Dapatkan Nama Pembolehubah Asal Selepas Panggilan Fungsi JavaScript?
Mendapatkan Nama Pembolehubah Asal Selepas Panggilan Fungsi
Mengenal pasti nama pembolehubah asal bagi argumen yang dihantar kepada fungsi JavaScript boleh menjadi tugas yang mengelirukan. Tidak seperti beberapa bahasa pengaturcaraan lain, fungsi JavaScript hanya menerima nilai pembolehubah, bukan pengecamnya. Had ini menjadikannya mustahil untuk mendapatkan semula nama asal pembolehubah dari dalam fungsi.
Sebagai contoh, pertimbangkan fungsi berikut:
<code class="javascript">function getVariableName(unknownVariable) { return unknownVariable.originalName; }</code>
Percubaan untuk memanggil getVariableName dengan pembolehubah, seperti:
<code class="javascript">getVariableName(foo);</code>
akan mengakibatkan ralat kerana foo tidak mempunyai sifat Nama asal. Fungsi ini menerima nilai foo, tetapi tiada maklumat tentang nama pembolehubah asalnya.
Penghadan ini boleh mengecewakan, terutamanya apabila cuba menyahpepijat atau memeriksa sumber hujah fungsi. Satu penyelesaian adalah dengan memasukkan nama pembolehubah sebagai sebahagian daripada tandatangan fungsi, membenarkan pemetaan manual antara argumen dan nama:
<code class="javascript">function getVariableValue(variableName, unknownVariable) { // Perform operations on `unknownVariable` }</code>
Walaupun pendekatan ini memberikan sedikit kelonggaran, ia bergantung pada lulus parameter yang tepat dan boleh menjadi menyusahkan untuk fungsi dengan berbilang argumen.
Akhirnya, mendapatkan semula nama pembolehubah asal dari dalam fungsi tidak boleh dilakukan dalam JavaScript kerana mekanisme penghantaran nilai. Oleh itu, adalah penting untuk mengetahui had ini semasa mereka bentuk kod anda dan mempertimbangkan penyelesaian alternatif apabila nama pembolehubah asal diperlukan.
Atas ialah kandungan terperinci Bolehkah Anda Dapatkan Nama Pembolehubah Asal Selepas Panggilan Fungsi JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!