ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で文字列から関数呼び出しを実行するにはどうすればよいですか?

JavaScript で文字列から関数呼び出しを実行するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-27 12:17:30645ブラウズ

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

文字列からの関数呼び出しの呼び出し

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。