使用 if 语句检查是否为 NaN

新手上路,请多包涵

我从表单中获取数值。然后我检查它是否为 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);

原文由 user2084813 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 431
1 个回答

使用 Javascript 的 isNaN() 函数。

根据 IEEE 的标准,检查是否与 NaN 相等总是错误的。做出此决定的 IEEE-754 委员会成员斯蒂芬·佳能 (Stephen Canon) 在此处给出了一个很好的解释

原文由 Bryan Herbst 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题