Вложенные операторы if/else помогают организовать и изолировать условия, чтобы избежать повторного тестирования одного и того же условия или минимизировать количество раз, которое необходимо выполнять различным тестам. быть исполненным.
Используя операторы if как с операторами сравнения, так и с логическими операторами, мы можем настроить код, который будет запускаться, если конкретный сочетание условий соблюдается. Мы не всегда хотим тестировать все условие, чтобы запустить один набор операторов, если весь тест верен, и другой, если он неверен. Мы можем захотеть выбрать между несколькими различными утверждениями, в зависимости от того, какая конкретная комбинация условий верна.
Предположим, например, что у нас есть три значения для сравнения и хотите установить разные результаты в зависимости от того, какие из значений равны. В следующем примере показано, как мы можем вложить операторы if для проверки (выделены жирным шрифтом ниже)
var answer;
if (a == b) {
если (a == c) {
answer = “все равны”;
} else {
answer = “a и b равны”;
}
} else {
if (a == c) {
answer = "a и c равны ";
} else {
if (b == c) {
answer = “b и c равны”;
} else {
answer = “все разные”;
}
}
}
Логика работает следующим образом:
- Если первое условие верно (
if (a == b)
), то программа проверяет ks для вложенного условия if (
if (a == c)
). Если первое условие ложно, программа переходит к условию else .
- Если вложенный if истинен, выполняется оператор, т.е. «все равны».
- Если вложенный if ложен, то оператор else будет выполняется, т. е. «a и b равны».
Вот несколько вещей, на которые следует обратить внимание, как это кодируется:
- Сначала мы создали переменную answer для хранения результата перед запуском if , что делает переменную глобальной. Без этого нам пришлось бы включать переменную в начале всех операторов присваивания, поскольку это была бы локальная переменная.
- Во-вторых, мы сделали отступ для каждого вложенного если заявление. Это позволяет нам легче отслеживать, сколько существует вложенных уровней операторов. Это также проясняет, что мы закрыли нужное количество блоков кода для завершения всех операторов if , которые мы открыли.. Вы можете обнаружить, что проще сначала поставить фигурные скобки для каждого оператора if , прежде чем вы начнете писать код, который принадлежит этому блоку.
Мы можем немного упростить один из разделов этого кода, чтобы не вкладывать столько же вложенных операторов if . Если весь блок else состоит из одного оператора if , мы можем опустить фигурные скобки вокруг этого блока и переместить if помещается в ту же строку, что и else , используя условие “else if”. Например:
var answer;
if (a == б) {
if (a == c) {
answer = "все равны";
} else {
answer = "a и b равны";
}
} else if (a == c) {
answer = “a и c равны”;
} else if (b == c) {
answer = “b и c равны”;
} else {
answer = "все разные";
}
Вложенные инструкции if/then общие для всех языки программирования, а не только JavaScript. Начинающие программисты часто используют несколько операторов if/then или if/else вместо того, чтобы вкладывать их друг в друга. Хотя такой код будет работать, он быстро станет подробным и будет дублировать условия. Вложенные условные операторы делают логику программы более ясной и приводят к сокращению кода, который может выполняться или компилироваться быстрее.