在没有 eval() 的情况下计算 JavaScript 中的字符串值
问题:
许多 JavaScript 开发人员使用 eval () 函数计算存储在字符串中的公式。然而,eval() 是不安全的,因为它可以执行任意代码。有安全的替代方案吗?
答案:
是的,您可以使用 Function() 构造函数安全地计算包含以下内容的字符串公式。
代码:
function evil(fn) { return new Function('return ' + fn)(); } console.log(evil('12/5*9+9.4*2')); // => 40.4
说明:
Function() 构造函数采用字符串作为参数并返回一个函数。将“return”关键字添加到字符串的开头,以确保函数计算结果为公式的结果。
优点:
以上是如何在没有“eval()”的情况下安全地计算 JavaScript 中的字符串公式?的详细内容。更多信息请关注PHP中文网其他相关文章!