Javascript 我能';我不明白我是什么';我在getDay上做错了
我想让页面检测是否是星期四,是否显示了一些文本。我不明白为什么这行不通。是不是因为我能在if-than上做=呢?请解释一下,谢谢Javascript 我能';我不明白我是什么';我在getDay上做错了,javascript,if-statement,Javascript,If Statement,我想让页面检测是否是星期四,是否显示了一些文本。我不明白为什么这行不通。是不是因为我能在if-than上做=呢?请解释一下,谢谢 <!DOCTYPE html> <html> <body> <p id="demo"></p> <p id="bleh"></p> <script> var day; switch (new Date().g
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<p id="bleh"></p>
<script>
var day;
switch (new Date().getDay()) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
}
document.getElementById("demo").innerHTML = "Today is " + day;
</script>
<p id="bleh"></p>
<script>
function myFunction() {
if(new Date().getDay() == 4)
document.getElementById("bleh").innerHTML = "Check your grades.";
}
}
</script>
</body>
</html>
var日;
开关(新日期().getDay()){
案例0:
day=“星期日”;
打破
案例1:
day=“星期一”;
打破
案例2:
day=“星期二”;
打破
案例3:
day=“星期三”;
打破
案例4:
day=“星期四”;
打破
案例5:
day=“星期五”;
打破
案例6:
day=“星期六”;
}
document.getElementById(“demo”).innerHTML=“今天是”+天;
函数myFunction(){
如果(新日期().getDay()==4)
document.getElementById(“bleh”).innerHTML=“检查您的成绩。”;
}
}
不起作用的部分是这个:
函数myFunction(){
如果(新日期().getDay()==4)
document.getElementById(“bleh”).innerHTML=“检查您的成绩。”;
}
}
另外,我会使用OnTime,但我的网页是从github页面上托管的,所以我无法在那里加载它,这就是我使用这种类型的JS的原因
if (day = 4;) {
请注意单个=
,您应该在其中使用=
或==
。同时删除分号:
if (day === 4) {
此外,正如评论中指出的,您应该将日期作为字符串进行检查,因为这是您设置的日期
if (day === "Thursday") {
将日期名称存储在这样的数组中不是更好吗
var days = [
'Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday'
];
function getCurrentDayName (dayIndex) {
return days[dayIndex];
}
console.log(getCurrentDayName (new Date ().getDay()))
您可以通过以下方式更轻松地获得一天的名称:
let today=新日期()
demo.innerHTML=
`今天是
${new Intl.DateTimeFormat('en-US',{weekday:'long'})
.format(今天)}`;
让今天=今天。getDay()
bleh.innerHTML=
今天===4?
“检查你的成绩。”
`不是星期四。回来
${(11-今天)%7}
重新检查的天数。`
“这不起作用”什么不起作用?并将案例6:
更改为默认值:
,因为如果您检查了所有其他可能性,则它必须为6。此外,在所有情况下都需要一个中断
,即使是最后一个和默认值。在if
语句中,使用if(new Date().getDay()==4)
更新代码,或者将日期存储在某个变量中,就像在switch语句中对day name所做的那样。如果(day=4;)单个=
是赋值,而不是比较,并且您不需要,那么也可以调用函数myFunction()
来实现特定于星期四的函数性代码>在那里。你有重复的ID。如果你观察用户的代码,你会看到day
变量包含日期名称,而不是日期索引。所以,这个答案也同样适用。这正是我想要的,谢谢。我唯一的问题是它说“11天后回来重新检查”,我希望它是一个每周周期(7天)。请重新检查。我得承认,我没有在计算的这一部分上花太多心思。你可能想自己仔细检查一下这个公式。
var days = [
'Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday'
];
function getCurrentDayName (dayIndex) {
return days[dayIndex];
}
console.log(getCurrentDayName (new Date ().getDay()))