文字列からの関数呼び出しの呼び出し
JavaScript では、関数呼び出しを表す文字列を実際の関数呼び出しに変換できます。 。
"clickedOnItem(" + t.parentNode.id + ")"
のような文字列を関数呼び出しに変換したい場合を考えてみましょう:
clickedOnItem(IdofParent);
これを実現するには、次のアプローチを利用できます。
<code class="javascript">var fn = window[settings.functionName]; if(typeof fn === 'function') { fn(t.parentNode.id); }</code>
このスニペットでは、最初に settings.functionName に格納されている文字列を使用して window オブジェクトから関数参照を取得します。関数が存在する場合は、必要な引数を使用して関数の呼び出しに進みます。
たとえば、settings.functionName が "clickedOnItem" に設定されている場合、コードを実行すると次のようになります。
<code class="javascript">var fn = window["clickedOnItem"]; // Fetch the function reference fn(t.parentNode.id); // Invoke the function</code>
これは、私たちが目指していた手動の関数呼び出しを効果的に模倣しています。このアプローチは、潜在的なセキュリティと保守性の問題のため、一般に嫌われていることに注意してください。関数呼び出しを動的に構築するには、関数コンストラクターやアロー関数を使用するなど、より安全な代替手段を検討することを検討してください。
以上がJavaScript で文字列から関数呼び出しを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。