2016-05-16 103 views
1

我期待此腳本在過期日期過後返回警報,否則顯示OK。
我沒想到腳本會落入其他「錯誤」聲明中。你能解釋爲什麼這個javascript不正確嗎?

任何人都可以解釋發生了什麼?

<!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> 
+4

這是一個錯字? 'expirymonth!= null!= null'? –

+0

謝謝,是的錯字。 – kl00t

回答

7

Date()返回字符串。您無法將其與日期進行比較。

更換

var currentDate = Date(); 

var currentDate = new Date(); 

(也修復被達文特賴恩指向評論明顯的錯字)

+0

已回答。謝謝。 – kl00t

相關問題