JavaScript 运算表达式字符串求值

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.

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容