美文网首页
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.

相关文章

  • eval()与parse()连用

    parse()可以根据字符串返回一个未求解表达式; eval()对表达式进行求值运算

  • JavaScript 运算表达式字符串求值

    Eval 替代品 某产品需要实现类似 Excel了单元格求和计算:SUM = A1 + B1 - C1 + (D1...

  • Python eval函数的学习

    eval()函数的官方文档给的功能解释是:将字符串string对象转换为有效的表达式参与求值运算语法上是:eval...

  • 逻辑运算符和赋值表达式

    运算符?? 表达式在 ?? 的左侧 运算符求值为undefined或null,返回其右侧 当逻辑运算符(&&,||...

  • JavaScript学习一

    条件运算符(三元运算符,也叫三目运算) 语法: 条件表达式?语句1: 执行流程: 首先对条件表达式进行求值如果该值...

  • ARTS第七周20200705

    Algorithm 逆波兰表达式求值 根据 逆波兰表示法,求表达式的值。 有效的运算符包括 +, -, *, / ...

  • js中的void操作符

    void运算符会对它的操作数表达式进行求值,然后忽略掉求值的结果,直接返回 undefined。 void exp...

  • shell-运算符

    算术运算符 expr 是一款表达式计算工具,使用它能完成表达式的求值操作 关系运算符 关系运算符只支持数字,不支持...

  • C++ 表达式

    表达式是运算符和它们的操作数的序列,它指定一项计算。 表达式的求值可以产生一个结果(比如2+2的求值产生结果4),...

  • Koltin基础(一)基本语法

    基本类型 字符串模板 字符串字⾯值可以包含模板表达式 ,即⼀些⼩段代码,会求值并把结果合并到字符串中。 模板表达式...

网友评论

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

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