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 + ")"
yang ingin kita terjemahkan ke dalam panggilan fungsi:
clickedOnItem(IdofParent);
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>
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>
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!