JavaScript Nesting IF Извлечения

click fraud protection

Разполагане ако / друго операторите помагат да се организират и изолират условията, за да се избегне тестването на същото състояние два пъти или да се сведе до минимум броя пъти, когато е необходимо да се извършват различни тестове.

Като се използва ако оператори както с сравнение, така и с логически оператори, можем да зададем код, който ще се изпълнява, ако е изпълнена конкретна комбинация от условия. Не винаги искаме да тестваме цялото условие, за да стартираме един набор от оператори, ако целият тест е верен, и друг, ако е невярен. Може да искаме да избираме между няколко различни твърдения, в зависимост от това коя конкретна комбинация условия истина е.

Да предположим например, че имаме три стойности за сравнение и желаем да зададем различни резултати в зависимост от това коя от стойностите е равна. Следващият пример показва как можем да гнездим ако извлечения за тестване за това (удебелено удебелено по-долу)

вар отговор;

ако (a == b) {

ако (a == c) {

отговор = "всички са равни";
} else {
instagram viewer

отговор = "a и b са равни";
}
} else {

 ако (a == c) {

 отговор = "a и c са равни";

 } else {

ако (b == c) {

отговор = "b и c са равни";
} else {
answer = "всички са различни";
}
 }

}

Начинът, по който логиката работи тук, е:

  1. Ако първото условие е вярно (
    ако (a == b)
    ), след това програмата проверява за вложен ако състояние (
    ако (a == c)
    ). Ако първото условие е невярно, програмата се нахвърля на още състояние.
  2. Ако вложен ако е вярно, твърдението се изпълнява, т.е. "всички са равни".
  3. Ако вложен ако е невярно, тогава още оператор се изпълнява, т.е. "a и b са равни".

Ето няколко неща, за да забележите как това е кодирано:

  • Първо създадохме променливата отговор за да задържим резултата преди да започнем ако оператор, правейки променливата в световен мащаб. Без това би трябвало да включим променливата отпред на всички оператори за присвояване, тъй като тя ще бъде локална променлива.
  • Второ, ние сме разделили всяка вложена ако изявление. Това ни позволява да проследим по-лесно колко вложени нива на изрази има. Освен това става по-ясно, че сме затворили точния брой блокове код, за да завършим всички ако изявления, които отворихме. Може да откриете, че е по-лесно да поставите скобите първо за всяка ако заявление, преди да започнете да пишете кода, който принадлежи вътре в този блок.

Можем леко да опростим един раздел от този код, за да избегнем необходимостта от гнездо ако твърденията. Къде цяло друг блок е съставен от един ако заявление, можем да пропуснем скобите около този блок и да преместим ако условие на самата линия като още, използвайки условието "else if". Например:

вар отговор;

ако (a == b) {

 ако (a == c) {

 отговор = "всички са равни";

 } else {

 отговор = "a и b са равни";

 }

} иначе ако (a == c) {

отговор = "a и c са равни";
} else if (b == c) {
отговор = "b и c са равни";
} else {

 answer = "всички са различни";

}

Вложени ако / тогава операторите са често срещани във всички езици за програмиране, не само JavaScript. Новаците програмисти често използват множество ако / тогава или ако / друго изявления, а не да ги влагат. Докато този вид код ще работи, той бързо ще стане многословен и ще дублира условията. Влагането на условни оператори създава повече яснота по отношение на логиката на програмата и води до кратък код, който може да се изпълнява или компилация по-бързо.

instagram story viewer