Zagnieżdżone instrukcje IF/ELSE w JavaScript
Unikaj powielania i gadatliwości
Zagnieżdżanie Jeśli inaczej Stwierdzenia pomagają zorganizować i wyodrębnić warunki, aby uniknąć dwukrotnego testowania tego samego warunku lub zminimalizować liczbę wykonywanych testów.
Używając jeśli instrukcji z operatorami porównawczymi i logicznymi, możemy ustawić kod, który zostanie uruchomiony, jeśli spełniony zostanie określony zestaw warunków. Nie zawsze chcemy przetestować 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ć między kilkoma różnymi stwierdzeniami, 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ździć jeśli oświadczenia do przetestowania (pogrubione poniżej)
|_+_||_+_|
|_+_|
|_+_|
odpowiedź = 'wszyscy są równi';
} w przeciwnym razie {
odpowiedź = 'a i b są równe';
}
|_+_|
|_+_|
|_+_|
|_+_|
|_+_|
odpowiedź = 'b i c są równe';
} w przeciwnym razie {
odpowiedź = 'wszyscy są różni';
}
|_+_|
|_+_|
Sposób, w jaki działa tutaj logika, to:
- Jeśli pierwszy warunek jest spełniony (|_+_|), program sprawdza zagnieżdżone, jeśli warunek (|__+_|). Jeśli pierwszy warunek jest fałszywy, program wpada na w przeciwnym razie stan.
- Jeśli zagnieżdżone, jeśli jest prawdziwe, instrukcja jest wykonywana, tj. „wszyscy są równi”.
- Jeśli zagnieżdżone, jeśli jest fałszywe, to w przeciwnym razie instrukcja jest wykonywana, tj. „a i b są równe”.
Oto kilka rzeczy, na które warto zwrócić uwagę, jak to jest zakodowane:
- Najpierw stworzyliśmy zmienną odpowiadać zatrzymać wynik, zanim zaczęliśmy jeśli oświadczenie, 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żdy zagnieżdżony jeśli oświadczenie. Pozwala nam to łatwiej śledzić liczbę zagnieżdżonych poziomów instrukcji. Wyjaśnia również, że zamknęliśmy odpowiednią liczbę bloków kodu, aby ukończyć wszystkie jeśli oświadczenia, które otworzyliśmy. Może się okazać, że łatwiej jest założyć tam aparat ortodontyczny dla każdego jeśli oświadczenie 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 kodu jeśli oświadczeń tak samo. Gdzie cała inny blok składa się z jednego jeśli oświadczenie, możemy pominąć nawiasy klamrowe wokół tego bloku i przesunąć jeśli warunkuje się na tej samej linii co w przeciwnym razie , używając warunku „else if”. Na przykład:
|_+_||_+_||_+_|
|_+_|
|_+_|
|_+_|
|_+_|
|_+_|
|_+_|
odpowiedź = 'a i c są równe';
} inaczej jeśli (b == c) {
odpowiedź = 'b i c są równe';
|_+_|
|_+_|
|_+_|
Zagnieżdżone Jeśli następnie stwierdzenia są wspólne 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 wypowiedzi zamiast ich zagnieżdżania. Chociaż ten rodzaj kodu będzie działał, szybko stanie się gadatliwy i będzie powielał warunki. Zagnieżdżanie instrukcji warunkowych zapewnia większą przejrzystość logiki programu i daje zwięzły kod, który może działać lub skompilować szybciej.