ShlackBaum
@ShlackBaum

К какому условию привязывается ELSEв JAVASCRIPT, если они идут подряд?

(Если мы не берем возможность "else if)
Есть код:
if (temperature >=10 && temperature < 15) {
 minutes = 30
}
 if (temperature >=15 && temperature < 25) {
 minutes = 40
}
 if (temperature >=25 && temperature <= 35) {
 minutes = 20
}
else 
{
  minutes = 0
}


К чему именно относится else? "В противном случае" - оно относительно какого невыполненного условия?
Самого последнего которое было в коде перед ELSE? Или JS как-то понимает, что не выполнены все три условия и обращается к ELSE?
Если каждый IF заключен в свои отдельные скобки {} - как Javascript понимает к какому из условий надо сравнивать свое ELSE, если условие не выполнено?
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
dollar
@dollar
Делай добро и бросай его в воду.
JS проверяет все три условия отдельно. Если последнее не выполнилось, то работает else. То есть, не смотря на то, что условия у вас взаимоисключающие, это всё же похоже на логическую ошибку.

Например, если temperature будет 20, то первое не выполнится, второе выполнится и присвоит minutes = 40, а затем третье снова не выполнится, но т.к. третье не выполнено, то сработает else конкретно для него, поэтому внезапно произойдет обнуление minutes = 0.

Нужно делать цепочку из if else, тогда все проверки будут связаны логически, и последний else будет относится как бы ко всем сразу.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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