JavaScript Zagnieżdżanie instrukcji IF

click fraud protection

Zagnieżdżanie Jeśli inaczej instrukcje pomagają organizować i izolować warunki, aby uniknąć dwukrotnego testowania tego samego stanu lub aby zminimalizować liczbę przeprowadzanych testów.

Używając gdyby instrukcji z operatorami porównania i logicznymi, możemy skonfigurować kod, który będzie uruchamiany, jeśli zostanie spełniona określona kombinacja warunków. Nie zawsze chcemy testować cały warunek, aby uruchomić jeden zestaw instrukcji, jeśli cały test jest prawdziwy, a drugi, jeśli jest fałszywy. Możemy chcieć wybierać spośród kilku różnych instrukcji, w zależności od konkretnej kombinacji warunki jest prawdziwy.

Załóżmy na przykład, że mamy trzy wartości do porównania i chcemy ustawić różne wyniki w zależności od tego, które wartości są równe. Poniższy przykład pokazuje, jak możemy zagnieżdżać gdyby instrukcje do przetestowania w tym celu (pogrubione poniżej)

var odpowiedź;

jeśli (a == b) {

jeśli (a == c) {

answer = „wszyscy są równi”;
} else {
answer = „aib są równe”;
}
} else {

 jeśli (a == c) {
instagram viewer

 answer = "a i c są równe";

 } else {

jeśli (b == c) {

answer = "bi są równe";
} else {
answer = „wszyscy są inni”;
}
 }

}

Logika działa tutaj:

  1. Jeśli pierwszy warunek jest spełniony (
    jeśli (a == b)
    ), a następnie program sprawdza, czy zagnieżdżone, jeśli stan (
    jeśli (a == c)
    ). Jeśli pierwszy warunek jest fałszywy, program ulega awarii jeszcze stan.
  2. Jeśli… zagnieżdżone, jeśli jest prawdą, instrukcja jest wykonywana, tzn. „wszyscy są równi”.
  3. Jeśli… zagnieżdżone, jeśli jest fałszywe, a następnie jeszcze instrukcja jest wykonywana, tzn. „aib są równe”.

Oto kilka rzeczy, które można zauważyć, jak to jest kodowane:

  • Najpierw stworzyliśmy zmienną odpowiedź utrzymać wynik przed rozpoczęciem gdyby instrukcja, tworząc zmienną światowy. Bez tego musielibyśmy umieścić zmienną na początku wszystkich instrukcji przypisania, ponieważ byłaby to zmienna lokalna.
  • Po drugie, wcięliśmy każde zagnieżdżone gdyby komunikat. To pozwala nam łatwiej śledzić, ile jest zagnieżdżonych poziomów instrukcji. Sprawia również, że wyraźniej jest, że zamknęliśmy odpowiednią liczbę bloków kodu, aby ukończyć wszystkie gdyby oświadczenia, które otworzyliśmy. Może się okazać, że łatwiej jest umieścić nawiasy klamrowe najpierw dla każdego gdyby instrukcja przed rozpoczęciem pisania kodu, który należy do tego bloku.

Możemy nieco uprościć jedną sekcję tego kodu, aby uniknąć konieczności zagnieżdżania gdyby oświadczenia tak samo. Gdzie całość w przeciwnym razie blok składa się z jednego gdyby instrukcja, możemy pominąć nawiasy klamrowe wokół tego bloku i przenieść gdyby warunek się w tej samej linii, co jeszcze, używając warunku „else if”. Na przykład:

var odpowiedź;

jeśli (a == b) {

 jeśli (a == c) {

 answer = „wszyscy są równi”;

 } else {

 answer = „aib są równe”;

 }

} w przeciwnym razie, jeśli (a == c) {

answer = "a i c są równe";
} else if (b == c) {
answer = "bi są równe";
} else {

 answer = „wszyscy są inni”;

}

Zagnieżdżone Jeśli następnie instrukcje są powszechne we wszystkich językach programowania, nie tylko JavaScript. Początkujący programiści często używają wielu Jeśli następnie lub Jeśli inaczej instrukcje zamiast zagnieżdżać je. Chociaż ten rodzaj kodu będzie działał, szybko stanie się pełniejszy i powieli warunki. Zagnieżdżanie instrukcji warunkowych zwiększa przejrzystość logiki programu i skutkuje zwięzłym kodem, który można uruchomić lub skompilować szybciej.

instagram story viewer