在不使用 Eval() 的情况下计算 JavaScript 中的数学表达式
在不使用潜在危险的 eval() 函数的情况下计算数学表达式是一种常见的方法JavaScript 编程中的任务。为了解决这个问题,让我们探索几个替代解决方案。
JavaScript 表达式计算器
JavaScript 表达式计算器库提供了一种解析和评估数学表达式的便捷方法。它允许您指定表达式字符串并使用变量来自定义评估。例如,以下代码计算表达式“2 ^ x”,其中 x 等于 3:
const result = Parser.evaluate("2 ^ x", { x: 3 });
Math.js
Math.js 是另一种流行的用于数学运算的 JavaScript 库。它包括一个强大的表达式解析器,支持广泛的数学函数。与 JavaScript 表达式求值器一样,它使您能够动态传递变量并求值表达式:
const result = math.eval('sin(45 deg) ^ 2');
用户推荐
另一位用户在 Stack Overflow 上建议了一个响应,利用 evalx() 函数安全地计算数学表达式。以下是该答案的片段:
function evalx(expr, scope) { return Function(`'use strict'; return (${expr})`)()(...scope); }
通过调用 evalx() 函数,您可以计算表达式,而不会出现与 eval() 相关的安全风险。
以上是如何在不使用'eval()”的情况下安全地计算 JavaScript 中的数学表达式?的详细内容。更多信息请关注PHP中文网其他相关文章!