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.
网友评论