所以我前一段时间做了这个(我相信这里的帮助,但我不记得 - 相关)因为上课。它应该根据一天中的时间返回一条消息,然后是一条随机消息。随机消息部分工作正常。它的时间消息我很困惑。告诉我你的想法......它看起来是对的吗?
var hr = new Date();
if (hr < 12) {
alert("Good Morning");
}
if ((hr - 12) < 6) {
alert("Good Afternoon");
}
if (hr >= 18) {
alert("Good Evening");
}
msg = new Array
msg[1]="how are you"
msg[2]="whazzup"
msg[3]="how have you been"
msg[4]="how has your day been going"
msg[5]="hey y'all"
random_num = (Math.round((Math.random()*4)+1))
alert(msg[random_num]);
非常感谢所有帮助和建议。感谢。
答案 0 :(得分:3)
您应该致电getHours()
来返回小时。您的hr
实际上是Date
对象:
var d = new Date();
var hr = d.getHours();
// Etc...
if (hr < 12) {
alert("Good Morning");
}
if ((hr - 12) < 6) {
alert("Good Afternoon");
}
if (hr >= 18) {
alert("Good Evening");
}
答案 1 :(得分:0)
var hr = (new Date()).getHours();
if (hr < 12)
{
alert("Good Morning");
}
else if (hr < 18)
{
alert("Good Afternoon");
}
else if (hr >= 18)
{
alert("Good Evening");
}
对于数组:
msg = [null]; //start off with index 0 as null
msg.push("how are you");
msg.push("whazzup");
msg.push("how have you been");
msg.push("how has your day been going");
msg.push("hey y'all");
答案 2 :(得分:0)
因为你将同一个表达式与多个结果进行比较,我建议使用switch语句,因为它更清晰,并且提供了更大的灵活性,而不是一堆意大利面条代码,以及其他if和东西。
答案 3 :(得分:0)
// proper way to get the current hour
var hr = new Date().getHours();
// use if elseif
if(hr < 12) {
alert("Good Morning");
} else if(hr < 18) {
alert("Good Afternoon");
} else {
alert("Good Evening");
}
// use var so we don't pollute
var msg = [
"how are you",
"whazzup",
"how have you been",
"how has your day been going",
"hey y'all"
];
var random_num = Math.round(Math.random()*4);
alert(msg[random_num]);