繁体   English   中英

根据getDay对象JavaScript显示文本“ Even Day”或“ Odd Day”

[英]Display text “Even Day” or “Odd Day” based on getDay object JavaScript

我试图显示文本“ Even Day”,当一个月的某天= = 2,4,6 ...时显示“奇数日”,当= 1,3,5,等等。连接到getDay对象的数组,但似乎未输出任何内容。

感谢所有帮助!

进一步实施:
好吧,我还有另一个问题。 无论日期是偶数还是奇数,我如何每隔一天发出文本“ A Day”或“ B Day”?

这是我的代码:

<html>
<body>

<h2>What day is it?</h2>

<p id="demo"></p>

<script>
function myFunction() {
    var time = new Date().getDay();
    var odd = ["1", "3", 

 "5","7","9","11","13","15","17","19","21","23","25","27","29","31"];
    var even = ["2","4",           
 "6","8","10","12","14","16","18","20","22","24","26","28","30"];


if (time = odd) {
        greeting = "Odd Day";
    } else if (time = even) {
        greeting = "Even Day";
document.getElementById("demo").innerHTML = greeting;

</script>

<script type="text/javascript">
    document.write(myFunction())
</script>

</body>
</html>

实际上,只需将大括号括起来,您的代码就可以了。 并检查数字是否在数组中,请使用array.includes(value)它将正常工作

    <html>
    <body>

    <h2>What day is it?</h2>

    <p id="demo"></p>

    <script>
    function myFunction() {
    var time = new Date().getDay();
    var odd = ["1", "3", 

 "5","7","9","11","13","15","17","19","21","23","25","27","29","31"];
    var even = ["2","4",           
 "6","8","10","12","14","16","18","20","22","24","26","28","30"];
checknum = odd.includes(time);

if (checknum == true) {
        greeting = "Odd Day";
    } else {
        greeting = "Even Day";
}
//document.getElementById("demo").innerHTML = greeting;
console.log(time);
console.log(checknum);
console.log(greeting);
}

    </script>

    <script type="text/javascript">
        document.write(myFunction())
    </script>

    </body>
    </html>

现在它将正常工作。

希望这可以帮助...!

为了测试当前日期是偶数还是奇数,您可以简单地测试:

time % 2 != 0  --> ODD

此外,您需要使用:

getDate() :根据当地时间返回指定日期的月份。

 function myFunction() { var time = new Date().getDate(); if (time % 2 != 0) { greeting = "Odd Day"; } else { greeting = "Even Day"; } document.getElementById("demo").innerHTML = greeting; } myFunction(); 
 <h2>What day is it?</h2> <p id="demo"></p> 

在窗口加载时调用该函数,并使用day值的索引检查其是否在奇数数组或偶数数组中

<html>
    <head>
    </head>
    <body>
    <h2>What day is it?</h2>
    <p id="demo"></p>
    <script type="text/javascript">
        function myFunction() {
        var time = new Date();
        var day= time.getDay();

    var odd = ["1", "3", 

 "5","7","9","11","13","15","17","19","21","23","25","27","29","31"];
    var even = ["2","4",           
 "6","8","10","12","14","16","18","20","22","24","26","28","30"];


if (odd.indexOf(day)>-1) {
        greeting = "Odd Day";
    } 
    else  {
        greeting = "Even Day";
document.getElementById("demo").innerHTML = greeting;
}
}
</script>

<script type="text/javascript">
 window.onload= myFunction();
</script>
</body>
</html>

@DavidG指出,您对表格的使用是错误的。

您需要使用for循环,然后将您的date-day值与表中的每个元素依次进行比较。

为什么使用查找表? 检查均匀性的正确方法是:

var day = new Date().getDay();
if ((day & 1) == 0)
{
   greetings = "even";
}
else
{
   greetings = "odd";
}

您未使用}关闭函数,而您的else语句也未使用}关闭。 getDay()返回星期几。 您需要.getDate()返回月中的某天。

我删除了数组,而是通过使用模数% 2来检查天数是否是偶数,该模数将天数除以2并返回余数。 因此,如果余数为0则天数为偶数。

 <h2>What day is it?</h2> <p id="demo"></p> <script type="text/javascript"> myFunction(); function myFunction() { var time = new Date().getDate(); if (time % 2 == 0) { greeting = "Even Day"; } else { greeting = "Odd Day"; } document.getElementById("demo").innerHTML = greeting; } </script> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM