如何将javascript eval用于处理括号,因为它是用于数学表达式的?
此代码,例如:
var a="(";
var b=")";
alert(eval(a+2+3+b))// returns 23 while I want to get an output of 5
Run Code Online (Sandbox Code Playgroud)
调用a+2+3+b之前计算该表达式eval.你真的打电话给:
alert(eval("(23)"));
Run Code Online (Sandbox Code Playgroud)
你想要+传递给eval,它也需要成为传递给eval的字符串的一部分:
alert(eval(2+"+"+3)); // 5
Run Code Online (Sandbox Code Playgroud)
至于你的问题:
如何将javascript eval用于处理括号,因为它是用于数学表达式的?
你不需要做任何事情.必须先完全评估括号中的子表达式,然后才能在整个表达式中使用它,因此将首先计算括号中的任何内容.EX.(就像你期望的算子的代数顺序):
2*(0+3) // 6
2* 0+3 // 3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
239 次 |
| 最近记录: |