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