Javascript 如何正确地将字符串转换为int以在JS中进行计算?

Javascript 如何正确地将字符串转换为int以在JS中进行计算?,javascript,Javascript,我在JS中有这个“2+2”和“(2+5)*2”,我想把它们转换成int,然后分别计算得到4和14的结果。因此,关于所做的研究,我发现哪个提供了使用eval()的功能,这会影响性能,因此我想问一下,将“2+2”和“(2+5)*2”转换为int进行计算的正确方法是什么?在这种情况下,您正确地使用了eval(),因为这就是它的用途。根据中的@yckart,他使用了函数构造函数进行求值。在本例中,您正确地使用了eval(),因为这就是它的用途。根据中的@yckart,他使用函数构造函数进行求值。除了使用

我在JS中有这个“2+2”和“(2+5)*2”,我想把它们转换成int,然后分别计算得到4和14的结果。因此,关于所做的研究,我发现哪个提供了使用eval()的功能,这会影响性能,因此我想问一下,将“2+2”和“(2+5)*2”转换为int进行计算的正确方法是什么?

在这种情况下,您正确地使用了eval(),因为这就是它的用途。根据中的@yckart,他使用了函数构造函数进行求值。

在本例中,您正确地使用了eval(),因为这就是它的用途。根据中的@yckart,他使用函数构造函数进行求值。

除了使用
eval
(出于性能和安全原因,您不应该这样做),您只能编写自己的字符串解析器。我两个都不做,并且确保我没有这样的条件。你能详细说明为什么给你这个任务吗?这是学校作业吗?虽然您可以使用
eval
进行此操作,但使用eval不是一种好的做法,而且它有很多安全问题,除非您确定字符串确实由运算符和数字组成。对于eval,您可以使用以下内容:
let computed=eval('2+2')
但如果不是,最好通过正则表达式分隔数字和运算符,然后执行操作。@JLRishe,不,我在React中创建了计算器,并想将该字符串转换为可以计算并显示结果的字符串:)@connexo,感谢您的评论,您对math.js有何看法。可以使用它吗?除了使用
eval
(出于性能和安全原因,您不应该使用它),您只能编写自己的字符串解析器。我两个都不做,并且确保我没有这样的条件。你能详细说明为什么给你这个任务吗?这是学校作业吗?虽然您可以使用
eval
进行此操作,但使用eval不是一种好的做法,而且它有很多安全问题,除非您确定字符串确实由运算符和数字组成。对于eval,您可以使用以下内容:
let computed=eval('2+2')
但如果不是,最好通过正则表达式分隔数字和运算符,然后执行操作。@JLRishe,不,我在React中创建了计算器,并想将该字符串转换为可以计算并显示结果的字符串:)@connexo,感谢您的评论,您对math.js有何看法。用这个可以吗?