Javascript新手:if语句

时间:2017-04-04 20:03:19

标签: javascript if-statement

我通过编写一个小程序来练习一些JS,该程序会提示我们的用户输入日期以确定日期是否为闰年。

我使用if语句和Number.isInteger(userInput)来确定他们的输入是否有效。

我的问题是我可以获得大多数日期工作但是规则适用于闰年,可以除以100的年份也必须能够被400除以以便将年份视为一个飞跃年。

根据我目前的代码,每年可以被4整除的年份是有效的一年,我很难过。

<p id="text"></p>

    <button onclick="leapYear()">Check for leap year</button>


    <script>

        function leapYear() {

            var year = prompt("Please enter a valid year");
            year = parseInt(year);

            if (year != "null") {

                if (Number.isInteger(year) === true) {

                    if (Number.isInteger(year/400) === true && Number.isInteger(year/100) === true) {

                        document.getElementById("text").innerHTML = year + " is a leap year!";


                        } else if (Number.isInteger(year/4) === true) {

                            document.getElementById("text").innerHTML = year + " is a leap year!";

                        } else {
                            document.getElementById("text").innerHTML = year + " is not a leap year";
                        }

                } else {

                    document.getElementById("text").innerHTML = "Please enter a valid year";

                }
            } 
        }







    </script>

</body>

1 个答案:

答案 0 :(得分:0)

如果是整个时间我都错了...感谢阅读。

<body>

<p id="text"></p>

    <button onclick="leapYear()">Check for leap year</button>


    <script>

        function leapYear() {

            var year = prompt("Please enter a valid year");
            year = parseInt(year);

            if (year != "null") {

                if (Number.isInteger(year) === true) {

                    if (Number.isInteger(year/400) === true && Number.isInteger(year/100) === true) {

                        document.getElementById("text").innerHTML = year + " is a leap year!";


                        } else if (Number.isInteger(year/400) !== true && Number.isInteger(year/100) === true) {

                            document.getElementById("text").innerHTML = year + " is not a leap year";

                        } else if (Number.isInteger(year/4) === true) {

                            document.getElementById("text").innerHTML = year + " is a leap year!";

                        }

                        else {
                            document.getElementById("text").innerHTML = year + " is not a leap year";
                        }

                } else {

                    document.getElementById("text").innerHTML = "Please enter a valid year";

                }
            } 
        }







    </script>

</body>