Bagaimana untuk Melaksanakan Panggilan Fungsi daripada String dalam JavaScript?

DDD
Lepaskan: 2024-10-27 12:17:30
asal
644 orang telah melayarinya

How to Execute a Function Call from a String in JavaScript?

Memajukan Panggilan Fungsi daripada Rentetan

Dalam JavaScript, adalah mungkin untuk menukar rentetan yang mewakili panggilan fungsi kepada panggilan fungsi sebenar . Pertimbangkan kes di mana kita mempunyai rentetan seperti:

"clickedOnItem(" + t.parentNode.id + ")"
Salin selepas log masuk

yang ingin kita terjemahkan ke dalam panggilan fungsi:

clickedOnItem(IdofParent);
Salin selepas log masuk

Untuk mencapai ini, kita boleh menggunakan pendekatan berikut:

<code class="javascript">var fn = window[settings.functionName];
if(typeof fn === 'function') {
    fn(t.parentNode.id);
}</code>
Salin selepas log masuk

Dalam coretan ini, kami mula-mula mendapatkan semula rujukan fungsi daripada objek tetingkap menggunakan rentetan yang disimpan dalam settings.functionName. Jika fungsi itu wujud, kami meneruskan untuk memanggilnya dengan argumen yang dikehendaki.

Sebagai contoh, jika settings.functionName ditetapkan kepada "clickedOnItem", melaksanakan kod akan menghasilkan:

<code class="javascript">var fn = window["clickedOnItem"]; // Fetch the function reference
fn(t.parentNode.id); // Invoke the function</code>
Salin selepas log masuk

Ini secara berkesan meniru seruan fungsi manual yang kami sasarkan. Ingat bahawa pendekatan ini secara amnya tidak disukai kerana potensi kebimbangan keselamatan dan kebolehselenggaraan. Pertimbangkan untuk meneroka alternatif yang lebih selamat, seperti menggunakan pembina Fungsi atau fungsi anak panah, untuk membina panggilan fungsi secara dinamik.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Panggilan Fungsi daripada String 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!