use*_*813 5 javascript if-statement
我从表单中获取数值.然后我检查一下它是否是NaN.如果是数字,我想将该值设置为变量.问题是,当我输入有效数字时,我仍然会收到警报,但数字不会传递给变量"date".我应该如何修改我的陈述,以便当它是有效数字时我可以将其分配给变量日期?
var adate = document.getElementById("dueDate").value;
if ( adate == NaN || " ") {
alert("Please enter a due date");
return;
}
else {
var date = (new Date()).setDate(adate);
}
processDate(date);
Run Code Online (Sandbox Code Playgroud)
看起来很奇怪,NaN !== NaN.
if (adate !== adate || adate !== " ") {
//...
}
Run Code Online (Sandbox Code Playgroud)
该isNaN功能在很多情况下都有效.不过,有一个很好的例子可以说它已被打破.
解决这个问题的一个好方法是:
MyNamespace.isNaN = function (x) {
return x !== x;
}
Run Code Online (Sandbox Code Playgroud)