The JavaScriptgdyby instrukcja wykonuje akcję w oparciu o warunek, wspólny scenariusz we wszystkich językach programowania. The gdyby instrukcja testuje trochę danych pod kątem warunku, a następnie określa kod do wykonania, jeśli warunek jest spełniony, na przykład:
jeśli warunek {
wykonać ten kod
}
The gdyby instrukcja prawie zawsze jest połączona z jeszcze instrukcja, ponieważ zwykle chcesz zdefiniować alternatywny bit kodu do wykonania. Rozważmy przykład:
jeśli (nazwa „Stephen”) {
message = "Witaj z powrotem Stephen";
} else {
wiadomość = „Witamy” + nazwa;
}
Ten kod zwraca „Witamy ponownie Stephena”, jeśli Nazwa jest równe Stephenowi; w przeciwnym razie zwraca „Witamy”, a następnie dowolną wartość zmiennej Nazwa zawiera.
Krótszy wyciąg IF
JavaScript zapewnia nam alternatywny sposób pisania gdyby instrukcja, gdy zarówno warunki prawda, jak i fałsz przypisują różne wartości do tej samej zmiennej.
W ten krótszy sposób pomija się słowo kluczowe gdyby a także nawiasy klamrowe wokół bloków (które są opcjonalne dla pojedynczych instrukcji). Przenosimy także wartość, którą ustalamy w prawdziwych i fałszywych warunkach na przód naszej pojedynczej instrukcji i osadzamy ten nowy styl
gdyby oświadczenie w samym wyciągu.Oto jak to wygląda:
zmienna = (warunek)? true-value: false-value;
Więc nasze gdyby wypowiedź z góry można zapisać w jednym wierszu jako:
message = (nazwa „Stephen”)? „Welcome back Stephen”: „Welcome” + nazwa;
Jeśli chodzi o JavaScript, to jedno zdanie jest identyczne z dłuższym kodem z góry.
Jedyna różnica polega na tym, że pisanie instrukcji w ten sposób faktycznie zapewnia JavaScript z większą ilością informacji o tym, co robi instrukcja if. Kod może działać wydajniej niż gdybyśmy napisali go w dłuższej i bardziej czytelnej formie. Jest to również nazywane operator trójskładnikowy.
Przypisywanie wielu wartości do jednej zmiennej
Ten sposób kodowania instrukcji if może pomóc uniknąć pełnego kodu, szczególnie w zagnieżdżone, jeśli sprawozdania. Rozważmy na przykład ten zestaw zagnieżdżonych instrukcji if / else:
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) {
answer = "a i c są równe";
} else {
jeśli (b == c) {
answer = "bi są równe";
} else {
answer = „wszyscy są inni”;
}
}
}
Ten kod przypisuje jedną z pięciu możliwych wartości do jednej zmiennej. Korzystając z tej alternatywnej notacji, możemy znacznie skrócić to do jednego stwierdzenia, które obejmuje wszystkie warunki:
var answer = (a == b)? ((a == c)? "wszyscy są równi" :
„aib są równe”): (a == c)? „a i c są równe”: (b == c)?
„b i c są równe”: „wszyscy są różni”;
Zauważ, że tego zapisu można używać tylko wtedy, gdy wszystko różne testowane warunki przypisują różne wartości do podobnie zmienna.