Это кажется правильным? - PullRequest
       13

Это кажется правильным?

2 голосов
/ 01 ноября 2011

Так что я сделал это некоторое время назад (я верю с помощью отсюда, но я не могу вспомнить - не имеет значения) для класса.Предполагается, что сообщение будет возвращаться в зависимости от времени суток, а затем случайное сообщение.Часть случайного сообщения работает нормально.Это сообщение о времени суток, в котором я запутался.Скажите мне, что вы думаете ... это выглядит правильно?

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]); 

Любая помощь и предложения с благодарностью.Спасибо.

Ответы [ 4 ]

3 голосов
/ 01 ноября 2011

Вы должны звонить 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");
}
0 голосов
/ 02 ноября 2011
// 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]); 
0 голосов
/ 01 ноября 2011

Поскольку вы сравниваете одно и то же выражение с несколькими результатами, я бы порекомендовал оператор switch, потому что он намного чище и обеспечивает большую гибкость вместо набора спагетти-кода, с другими if, и прочим.

0 голосов
/ 01 ноября 2011
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");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...