JavaScript では、関数呼び出しを含む文字列を実際の関数実行に変換する必要があるシナリオに遭遇することがあります。包括的な解決策は次のとおりです。
前提条件:
解決策:
<code class="js">var fn = window[settings.functionName];</code>
このステップでは、settings.functionName で識別される関数への参照を取得します (この場合は「clickedOnItem」)。
<code class="js">if(typeof fn === 'function') { fn(t.parentNode.id); }</code>
このステップでは、取得した値が実際に関数であることを確認します。存在する場合、指定された引数を使用して関数の実行に進みます。
提供された例では、コードは文字列を直接関数呼び出しに変換します。
<code class="js">clickedOnItem(IdofParent);</code>
追加の注意:
eval() メソッドは文字列をコードとして評価することもできますが、セキュリティ上の懸念により、通常は推奨されません。ここで紹介するソリューションは、より安全な代替手段を提供します。
以上が文字列から JavaScript 関数を安全に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。