0

私のコードでは、 i5 に等しい場合はmyDateそれに等しいはずです。アラートは、それらが同じであることを示しています。関数を取得することはできませんreturn 1;

function checkForHoliday(date) {
    var myDate = new Date(date);
    myDate = myDate.getMonth() + "/" + myDate.getDate() + "/" + myDate.getFullYear();

    alert(myDate + "\n" + holidays[5]);

    for (i = 0; i <= 9; i++) {
       if (myDate == holidays[i]) {
           return 1;
           alert("got it");
       }       
    }

    return 0;
}

配列内の文字列は次のようになります。

year = 2013
holidays[5] = "7/2/" + year

私のアラートは私にこれを示しています: ここに画像の説明を入力

4

3 に答える 3

0

これを使ってみて、

 <script type="text/javascript">

    var startYear = parseInt(document.getElementById('startYear'), 10);
    var startMonth = parseInt(document.getElementById('startMonth'), 10) - 1; 
    var startDay = parseInt(document.getElementById('startDay'), 10);
    var myDate = new Date(startYear, startMonth, startDay);

</script>
于 2013-08-28T17:49:44.650 に答える
0

日付オブジェクトを目的の形式の文字列に変換します。等価性をテストするには、トリプル イコール演算子を使用します。

試す:

if (myDate.toLocaleDateString() === holidays[i]) {
    return 1;
    alert("got it");
}
于 2013-08-28T17:50:16.313 に答える