Комбинации конструкций if-else в JavaScript

Пусть переменная num может принимать значения 1, 2 или 3.

Пусть также для каждого значения мы хотим выводить на экран свою строку, например, если num имеет значение 1, то выведем строку 'value1', если значение 2, то 'value2' и так далее.

Для решения задачи можно просто написать три if без else:

let num = 1; // может быть 1, 2 или 3 if (num == 1) { alert('value1'); // сработает, если num равно 1 } if (num == 2) { alert('value2'); // сработает, если num равно 2 } if (num == 3) { alert('value3'); // сработает, если num равно 3 }

В переменной day лежит какое-то число из интервала от 1 до 31. Определите в какую декаду месяца попадает это число (в первую, вторую или третью).

Конструкция else if

Приведенный выше код можно переписать через специальную конструкцию else if:

let num = 1; if (num == 1) { alert('value1'); } else if (num == 2) { alert('value2'); } else if (num == 3) { alert('value3'); }

Решите предыдущую задачу на декады месяца через конструкцию else if.

Преимущество else if

Преимуществом использования else if вместо нескольких ифов является возможность отловить ситуацию, когда значение переменной num не подходит ни под одно из условий:

let num = 1; if (num == 1) { alert('value1'); } else if (num == 2) { alert('value2'); } else if (num == 3) { alert('value3'); } else { alert('неверное значение переменной num'); }

Модифицируйте предыдущую задачу так, чтобы, если в переменной day будет не число от 1 до 31, выдавалось сообщение об ошибке.

Вложенные if

Конструкции if-else можно вкладывать друг в друга произвольным образом. Смотрите пример:

let num = 3; if (num >= 0) { if (num <= 5) { alert('меньше или равно 5'); } else { alert('больше 5'); } } else { alert('меньше нуля'); }

Пусть в переменной age хранится число. Если это число меньше 10 или больше 99, то выведите на экран сообщение об этом.

Если же число попадает в указанный диапазон, то найдите сумму цифр этого числа.

Если полученная сумма меньше или равна 9, то выведите на экран сообщение о том, что сумма цифр однозначна, в противном случае выведите сообщение о том, что сумма цифр двузначна.