你能解释为什么这个javascript不正确吗?

时间:2016-05-16 08:22:40

标签: javascript

我希望此脚本在过期日期过去时返回警告,否则显示确定 我没想到脚本会落入Else“错误”声明中。

有人可以解释发生了什么吗?

<!DOCTYPE HTML>
<html>
<body>

<div id="test"></div>

  <script>
    var expirymonth = "3";
    var expiryyear = "2017";

    if (expirymonth != null != null && expiryyear != null)
    {
        var currentDate = Date();
        var expiryDate = new Date(parseInt(expiryyear),parseInt(expirymonth - 1),1);
        if (expiryDate < currentDate)
        {
            window.alert("Expiry Date must not be in the past.");
        }
        else if (expiryDate > currentDate)
        {
            window.alert("OK");
        }
        else
        {
            window.alert("Error");
        }
    }
  </script>

</body>
</html>

1 个答案:

答案 0 :(得分:7)

Date()返回一个字符串。你无法将它与日期进行比较。

替换

var currentDate = Date();

var currentDate = new Date();

(也解决了Davin Tryon评论中指出的明显错字)