@as_viper
Начинающий веб-разработчик

Не выводится время для определения времени суток?

Доброй ночи!
Пытаюсь вывести в консоль текущее времени суток.
Скрипт работал минут 20-30, затем начал выдавать undefined
В чем беда?

function getHour(hours) {
    
    if (hours > 4 && hours < 12) {
        return ('Доброе утро');
    } else if (hours <= 12 && hours > 16) {
        return ('Добрый день');
    } else if (hours <= 16 && hours > 21) {
        return ('Добрый вечер');
    } else if (hours < 21 && hours > 4) {
        return ('Доброй ночи');
    }
    
}
let hours = new Date().getHours();
console.log(getHour());


Спасибо!
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
@SoraxBZ
Веб-разработчик тем для wordpress
У тебя условия какие-то странные. Скорее всего ты хотел вот это
function getHour(hours) {

  if (hours > 4 && hours < 12) {
    return 'Доброе утро';
  } else if (hours >= 12 && hours < 16) {
    return 'Добрый день';
  } else if (hours >= 16 && hours < 21) {
    return 'Добрый вечер';
  } else if (hours >= 21 || hours < 4) {
    return 'Доброй ночи';
  }
}
let hours = new Date().getHours();
console.log(getHour(hours));
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
samodum
@samodum
Какой вопрос - такой и ответ
hours не передаётся в функцию в качестве аргумента.

Проблема в том, что нет последнего
else return "Привет!"

Посмотри, у тебя функция не возвращает результат для hours < 4, поэтому для hours меньше 4 будет undefined
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы