JavaScript 中的安全字符串计算:eval() 的替代品
eval() 函数虽然方便,但暴露了 JavaScript 中潜在的安全风险。在处理包含可执行代码的不受信任字符串时,必须找到更安全的替代方案。
一个可行的选择是使用 Function() 构造函数。此构造函数允许我们从给定字符串创建动态函数:
function evil(fn) { return new Function('return ' + fn)(); }
利用此函数,我们可以计算数学字符串表达式,而无需承担与 eval() 相关的风险。下面是一个示例:
const apa = "12/5*9+9.4*2"; console.log(evil(apa)); // Output: 40.4
此方法提供了一种安全的方法来计算字符串值,而无需求助于 eval()。它提供了针对恶意代码注入的增强保护,使其成为处理不受信任输入的更安全选择。
以上是如何在 JavaScript 中安全地计算字符串:'eval()”的替代方案?的详细内容。更多信息请关注PHP中文网其他相关文章!