Javascript新手:if语句

Javascript新手:if语句,javascript,if-statement,Javascript,If Statement,我正在通过编写一个小程序来练习一些JS,该程序会提示用户输入一个日期,以确定该日期是否为闰年 我使用if语句和Number.isInteger(userInput)来确定它们的输入是否有效 我的问题是,我可以让大多数日期工作,但由于规则适用于闰年,可以除以100的年份也必须能够除以400,以便将该年确认为闰年 按照我目前的代码,每年被4整除都是有效的一年,我很困惑 <p id="text"></p> <button onclick="leapYear()"

我正在通过编写一个小程序来练习一些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>

检查闰年 功能年(){ var year=提示(“请输入有效年份”); 年=parseInt(年); 如果(年份!=“空”){ if(数字isInteger(年份)==真){ if(Number.isInteger(年份/400)==true&&Number.isInteger(年份/100)==true){ document.getElementById(“text”).innerHTML=year+“是闰年!”; }else if(数字isInteger(年份/4)==真){ document.getElementById(“text”).innerHTML=year+“是闰年!”; }否则{ document.getElementById(“text”).innerHTML=year+“不是闰年”; } }否则{ document.getElementById(“text”).innerHTML=“请输入有效年份”; } } }
如果一直都是这样,我就错了……不过还是谢谢你的阅读

<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>

检查闰年 功能年(){ var year=提示(“请输入有效年份”); 年=parseInt(年); 如果(年份!=“空”){ if(数字isInteger(年份)==真){ if(Number.isInteger(年份/400)==true&&Number.isInteger(年份/100)==true){ document.getElementById(“text”).innerHTML=year+“是闰年!”; }else if(Number.isInteger(year/400)!==true&&Number.isInteger(year/100)==true){ document.getElementById(“text”).innerHTML=year+“不是闰年”; }else if(数字isInteger(年份/4)==真){ document.getElementById(“text”).innerHTML=year+“是闰年!”; } 否则{ document.getElementById(“text”).innerHTML=year+“不是闰年”; } }否则{ document.getElementById(“text”).innerHTML=“请输入有效年份”; } } }
我知道这可能是一种非常低效的解决问题的方法,但我想知道为什么我的if语句在300可能作为闰年过去的情况下不起作用。我也愿意接受不同意见的建议<代码>否则如果(Number.isInteger(year/4)==true)。。。什么让你难堪?因为如果你的算法是反向的,你就错了。