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