例如,“22 + 20”然后将被转换为42的答案,其中42是整数。另一个例子是“20/10 * 4”,其答案是8.我一直在考虑这个问题,并且无法想到我将如何做到这一点。在回答之前,请考虑我是javascript的新手,但不知道编程整体。谢谢你的时间
答案 0 :(得分:3)
easy 但危险的答案是使用eval()
,如:
eval("20/10*4"); // returns 8
但 必须 验证您传递给eval()
的任何输入,否则您将遇到跨站点脚本(XSS)漏洞!即使代码是恶意的,它也会运行你传递的任何内容。
您也可以采用更安全但更难的路线,并编写解释字符串并进行相应计算的解析器。
答案 1 :(得分:1)
就像Ed Cottrell所说,你可以使用eval
,但你需要非常小心。相反,您可以使用math.js的表达式解析器:
math.eval('20/10*4'); // returns 8