Показать сообщение отдельно
  #2 (permalink)  
Старый 08.08.2020, 00:46
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,719

Сообщение от Aleksandr Gumanat
Код работает таким образом
Не выдавайте желаемое за действительное.

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

Чтобы код работал так, как вы это описали, удалите из из своего кода else.

Угадайте, сколько раз вызовется функция alert:
if (true) {
    alert('block 1');
} else if (true) {
    alert('block 2');
}


А в этом случае?
var variable = 1;
if (variable === 1) {
    alert(1);
    variable++;
} else if (variable === 2) {
   alert(2);
   variable = 0;
}

if (variable === 0) {
    alert(3);
    variable === 4;
} else if (variable === 2) {
    alert(4);
}
Ответить с цитированием