我有用户给出的随机表达式(例如:2+3*5,21*+(4)7,*-54+3)。这些表达式可以包含任意数量的操作数或运算符以形成表达式。我需要评估这些表达式以获得答案。我尝试使用 eval() 函数进行评估,但问题是错误的表达式是传递给 eval() 函数时它会抛出错误并导致程序暂停。我通过
进行了尝试if(eval(exp))
{
//Action Expression is evaluatable
}
else
{
//expression is not Evaluatable
}
但没有工作并产生错误信息
"SyntaxError: unterminated regular expression literal."
由于表达式性质的多样性,我很难在求值前构造检查语句。
您能否建议我如何简单地检查传递给 eval() 函数的表达式是否正确?
最佳答案
捕获错误:
try {
eval(exp);
} catch (e) {
if (e instanceof SyntaxError) {
alert(e.message);
}
}
关于javascript:检查表达式是否可评估?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27804025/