美文网首页
JavaScript 运算表达式字符串求值

JavaScript 运算表达式字符串求值

作者: 於風聽語 | 来源:发表于2020-06-09 16:56 被阅读0次

    Eval 替代品

    某产品需要实现类似 Excel了单元格求和计算:
    SUM = A1 + B1 - C1 + (D1 - E1) / F1

    转换一下其实就是取单元格的值,然后计算,类似计算表达式字符串:

    2 + 6 / 2 * 3 - (1 + 1) / 2

    其实最简单的,就是使用 eval

    eval(expr)
    

    可是,翻了一下 MDN 文档:

    可是这个非常不推荐使用,兄弟,这就难受了啊
    不过文档给出了 Function 替代 eval

    function calc (expr){
        return Function('return (' + expr + ')')()
    }
    

    验证:

    参考文档:

    —— 2020/06/04 By YSH, Showers.

    相关文章

      网友评论

          本文标题:JavaScript 运算表达式字符串求值

          本文链接:https://www.haomeiwen.com/subject/wpkgzhtx.html