如何在JavaScript中计算字符串?

如何在JavaScript中计算字符串?,javascript,Javascript,var string=“2+3-1”; document.write(字符串)您可以使用内置方法eval() 注意:不建议使用eval()。您应该使用某种外部库,如 var string=“2+3-1”; document.write(eval(string))如果您只使用加号和减号,您可以执行以下操作: var string=“2+3-1”; document.write(字符串); var result=string.match(/([-+]?\d+)/g).reduce((a,e)=>

var string=“2+3-1”;

document.write(字符串)您可以使用内置方法
eval()

注意:不建议使用
eval()
。您应该使用某种外部库,如

var string=“2+3-1”;

document.write(eval(string))如果您只使用加号和减号,您可以执行以下操作:

var string=“2+3-1”;
document.write(字符串);
var result=string.match(/([-+]?\d+)/g).reduce((a,e)=>a--e,0);

document.write('='+result)
如果字符串不是硬编码的,则应该有一个警告,说明这是非常不安全的。对于纯粹用于数学的更安全的替代方法,应该使用类似的库。@Aplet123谢谢。我加了一张便条。谢谢你的回答。是什么原因导致eval()从未被推荐?太棒了!一个问题,你是如何将字符串转换成数字的?@EliasAchilles,你是什么意思?我的意思是,在上面的代码中,你不能对字符串进行数学运算。变量结果仍然是字符串,据我所知,它不应该进行计算。但确实如此。@EliasAchilles,
var result
是通过
match
reduce
方法计算的数字,而不是字符串。可能您对我的代码的格式感到困惑。