如果我想检查 eval 函数是否不返回任何内容,该怎么做? 我尝试做类似的事情:
if (eval("iwuoinuvwoienvuwope") == "") {
// Do something
alert("Oh NO!");
}
但是当我这样做时,什么也没有发生。
这是我的完整代码:
function calc() {
var cal = prompt("Your math....", "1 + 1");
if (cal == null) {
alert("If you don't have a math problem you can gtfo!");
} else if (cal == false) {
alert("If you don't have a math problem you can gtfo!");
}
/* Here I Check if eval is empty */
/* Here it doesn't work */
else if (eval(cal) == "") {
alert("Could you be more specific");
}
/* */
else {
alert("The answer is " + eval(cal));
}
}
<button onclick="calc();">Calculator</button>
最佳答案
eval(code)
返回“计算给定代码的完成值。如果完成值为空,则返回 undefined
”。 MDN
在您的情况下,有效的数学表达式返回一个Number
。因此,您必须检查 typeof result == "Number"
。如果您想排除 NaN
、Infinity
等,请执行其他检查,例如通过isFinite(结果)
。
关于javascript - JS中如何检查eval是否没有返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42740107/