@Nerevar96

В чем отличия моего рабочего и нерабочего решения?

Есть 2 кода. Первый работает некорректно, второй работает так как я задумывал, но решение слишком глупое. Потом я внес в него изменения, изменил принцип работы программы, и она стала работать так, как я задумывал изначально. В чем причина? Почему первый вариант кода не работал?

(в первом варианте алерт "закрыто" выходил только когда в я в промте вводил выходные дни, а в будни алерт писал открыто даже в нерабочее время, это противоречило условиям программы)

Первый
let time = prompt('Который сейчас час?', '');

let day = prompt('Какой сейчас день недели?', '');

let result_Time
let result_Day
let overeng

if ( time < 10 || time > 19 ) {
    result_Time = false;
} else {
    result_Time == true;
}

if ( day == 'понедельник' || day == 'вторник' || day == 'среда' || day == 'четверг' || day == 'пятница' ) {
    result_Day = true
} else if ( day == 'суббота' || day == 'воскресенье' ) {
    result_Day = false
}

if (result_Time == true, result_Day == true) {
    alert('открыто')
} else {
    alert('закрыто')
}


Второй:
let time = prompt('Который сейчас час?', '');

let day = prompt('Какой сейчас день недели?', '');

let result_Time = 0;
let result_Day
let overeng = 0

if ( time < 10 || time > 19 ) {
    overeng = 0;
} else {
    overeng == ++overeng;
}

if ( day == 'понедельник' || day == 'вторник' || day == 'среда' || day == 'четверг' || day == 'пятница' ) {
    overeng = ++overeng;
} else if ( day == 'суббота' || day == 'воскресенье' ) {
    overeng = overeng - 1;
}

if (overeng == 2) {
    alert('открыто')
} else {
    alert('закрыто')
}
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
if (result_Time == true && result_Day == true)
Ну вы учебник-то не закрывайте, раз у вас есть склонность к придумыванию собственного синтаксиса.

spoiler
let time = prompt('Который сейчас час?', '');
let day = prompt('Какой сейчас день недели?', '');

const isWorkingTime = time >= 10 && time <= 19;
const isWorkingDay = day == 'понедельник' || day == 'вторник' || day == 'среда' || day == 'четверг' || day == 'пятница';

if (isWorkingTime && isWorkingDay) {
    alert('открыто')
} else {
    alert('закрыто')
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
21 нояб. 2024, в 19:31
500 руб./за проект
21 нояб. 2024, в 19:28
200000 руб./за проект
21 нояб. 2024, в 19:09
5000 руб./за проект