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

时间:2015-05-07 19:53:28

标签: 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"/>

1 个答案:

答案 0 :(得分:1)

包括NaN在内的任何内容都不会===NaN。事实上,测试 for {/ em> NaN的一种方法就是利用它!

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

您还可以使用isNaN()

if (isNaN(result))
  result = 0;