我有一个javascript计算器,接受用户输入,做一些数学运算并将结果写入输入字段“#theResult”
由于“#theResult”在keyup上更新,有时“#theResult”将返回Infinity,NaN或“”,直到所有字段都填写完毕。在填写所有字段之前,我希望“#theResult”返回0。这是代码:
if (theResult === Infinity || theResult === "" || theResult === NaN) {
theResult === 0;
}
$("#theResult").val(theResult);
完整代码为here
提前感谢您的帮助!
答案 0 :(得分:6)
您已使用theResult === 0
,您应该使用theResult = 0
。
===
用于比较。如果要更改变量的值,请使用赋值运算符=
。
就像@zzzzBov所说,最简单的事情是用
替换整个事物 theResult = isFinite(theResult) && theResult || 0; // updated
然而,这掩盖了NaN
的微妙之处;如果用户已完成且结果确实为NaN
,则显示0
不正确。