我刚开始学习JavaScript。 我试图使用if语句根据时间和switch语句显示相应的消息,以显示消息旁边的图片,但代码不起作用:
<!DOCTYPE html>
<head>
<title> Time of the day </title>
<meta charset="utf-8">
<script>
function writeIt() {
var date = new Date();
var hour = date.getHours();
var timeOfDay;
if (hour >= 7 && hour <12) {
document.write("Good morning");
timeOfDay = "morning";
}
else if (hour >= 12 && < 18) {
document.write("Good afternoon");
timeOfDay = "noon";
}
else {
document.write("Good night!");
timeOfDay = "night";
}
switch (timeOfDay) {
case "morning";
case "day":
document.write("<img src='/images/morning.jpg/' />")
break;
case "afternoon":
document.write("<img src='/images/afternoon.jpg/' />")
break;
default:
document.write("<img src='/images/night.jpg" />")
break;
}
}
</script>
</head>
<body onload="writeIt()">
hello
</body>
</html>
到目前为止,我发现如果我删除“else if ...”,if语句就可以了......你有什么线索可能有什么不对吗?
由于
答案 0 :(得分:1)
您必须将每个if - else
表达式视为独立表达式。这意味着口译员不会理解这一行:
else if (hour >= 12 && < 18) {
它会将其视为&#34;名为 hour 的变量大于或等于12且变量名为 um ...等待什么?小于18&#34 ;。您是必需的将两个表达式视为单独或不同的语句。所以正确的代码是
else if (hour >= 12 && hour < 18) {
这意味着&#34;名为 hour 的变量大于或等于12,名为 hour 的变量小于18&#34;
答案 1 :(得分:0)
将else if (hour >= 12 && < 18) {
更改为else if (hour >= 12 && hour < 18) {
。