如何解析和评估字符串中的数学表达式(例如'1+1')而不调用eval(string)它的数值?
在这个例子中,我希望函数接受'1+1'并返回2.
有没有办法计算存储在JavaScript中的字符串中的公式而不使用eval?
通常我会做类似的事情
var apa = "12/5*9+9.4*2";
alert(eval(apa));
Run Code Online (Sandbox Code Playgroud)
那么,有没有人知道替代品eval?
我需要在Javascript中评估用户输入的算术表达式,如"2*(3 + 4)",但eval出于安全原因我不想使用.
我可以去掉所有的不是数字或运营商的角色,但我不知道这将是安全的反正这将是很好,如果用户可以使用类似的功能cos,sqrt等...
是否有任何Javascript库进行算术表达式评估?
所以,我搜索了高低,我找不到答案.我已经尝试了大约三次,并通过基本上将输入作为字符串存储在数组中,解析数字,然后打开运算符,以便评估整数,得到一个基本的一个,但我有一个找出链接逻辑真的很难.有没有人有什么建议?甚至可能只是伪造的代码?我真的不想使用eval.非常感谢
这段代码用作计算器,但是codeacademy的便笺告诉我,eval是邪恶的.有没有另一种方法可以在不使用eval的情况下做同样的事情?
var calculate = prompt("Enter problem");
alert(eval(calculate));
Run Code Online (Sandbox Code Playgroud)