[英]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.