JavaScript 设置函数默认值不起作用?

标签 javascript html

JS中的函数

    function punch(){
    var a,b,result;
    a=document.getElementById('n1').value;
    b=document.getElementById('n2').value;

    var x=parseInt(a);
    var y=parseInt(b);
    result=x+y;


     if (result===NaN)
     result =0;

我知道这个条件是假的,它给出 x+y 的输出。在空字段上它总是返回 NaN 值 当将其更改为

if (result!==NaN)
 result=0;

现在它变成了真的,但 x+y 也为 0。

document.getElementById('n3').value=result;   
}

HTML 代码

<input type="text" id="n1" placeholder="Value 1"/>
<input type="text" id="n2" placeholder="Value 2"/>
<button type="button" onClick="punch()">Click For Answer</button>
<input type="text" id="n3" placeholder="Answer"/>

最佳答案

没有任何东西,包括 NaN,是 ===NaN 的。事实上,测试 NaN 的一种方法就是利用它!

if (result !== result)
  result = 0; // must have been NaN!

您还可以使用isNaN():

if (isNaN(result))
  result = 0;

关于JavaScript 设置函数默认值不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30110466/

相关文章:

javascript - 为什么reduce的行为与手写的链式方法不同?

javascript - 如何通过title属性获取<a>

javascript 将文本添加到发送到数据库的字符串

html - 如何围绕圆边旋转对象(div)?仅 CSS

javascript - 无法拆分 URL,显示为 System.object[]

javascript - 在Vue中,使用select在对象数组中选择一个对象

javascript - 对话框的问题

html - 显示问题 : flex & column-count: 2

javascript - 为什么点击子页面时该页面的 URL 始终保持不变?

php - 4 个条目后关闭 div 标签 - mysql 循环