在 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中文网其他相关文章!