Jak mogę użyć if
instrukcji wbudowanej w JavaScript? Czy jest też else
instrukcja wbudowana ?
Coś takiego:
var a = 2;
var b = 3;
if(a < b) {
// do something
}
Jak mogę użyć if
instrukcji wbudowanej w JavaScript? Czy jest też else
instrukcja wbudowana ?
Coś takiego:
var a = 2;
var b = 3;
if(a < b) {
// do something
}
Odpowiedzi:
Niekoniecznie potrzebujesz jQuery. Sam JavaScript to zrobi.
c
Zmienna będzieminor
, jeśli wartość jesttrue
, amajor
jeżeli wartość jestfalse
.Jest to znane jako operator warunkowy (trójskładnikowy).
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Conditional_Operator
źródło
if (a < b) c = 'major';
Do pisania
if
instrukcji inline kod w niej powinien być tylko jedną instrukcją:źródło
Istnieje operator trójskładnikowy, taki jak ten:
źródło
0 < 1 : 5 : 120;
jest to całkowicie poprawna instrukcja. Trochę bezużyteczne, chyba że płacisz za linię.if
oświadczenia w takim przypadku prawdopodobnie znacznie ułatwi odczytanie i zrozumienie kodu i rzadziej spowoduje zerwanie z późniejszymi zmianami.Możesz także przybliżyć wartość if / else, używając tylko operatorów logicznych.
Powyższe jest mniej więcej tym samym, co powiedzenie:
I oczywiście mniej więcej tak samo jak:
Mówię z grubsza, ponieważ istnieje jedna różnica w tym podejściu, polegająca na tym, że musisz wiedzieć, że wartość
b
będzie oceniana jako prawdziwa, w przeciwnym razie zawsze otrzymaszc
. Zasadniczo musisz zdać sobie sprawę, że część, która się pojawi,if () { here }
jest teraz częścią warunku, który stawiaszif ( here ) { }
.Jest to możliwe ze względu na zachowanie JavaScript w przekazywaniu / zwróceniu jednej z oryginalnych wartości, które utworzyły wyrażenie logiczne, które zależy od typu operatora. Niektóre inne języki, takie jak PHP, przekazują rzeczywisty wynik operacji, tj. Prawda lub fałsz, co oznacza, że wynik jest zawsze prawdziwy lub fałszywy; na przykład:
Jedną z głównych korzyści, w porównaniu z normalną instrukcją if, jest to, że dwie pierwsze metody mogą działać po prawej stronie argumentu, tj. Jako część przypisania.
Jedynym sposobem na osiągnięcie tego za pomocą standardowego wyrażenia if byłoby zduplikowanie przypisania:
Możesz zapytać, dlaczego używaj tylko operatorów logicznych zamiast operatora trójskładnikowego , w prostych przypadkach prawdopodobnie byś tego nie zrobił, chyba że chcesz się upewnić
a
ib
oba są prawdziwe. Możesz także osiągnąć bardziej uproszczone złożone warunki za pomocą operatorów logicznych, które mogą stać się dość nieporządne przy użyciu zagnieżdżonych operacji trójkowych ... jeśli znowu chcesz, aby kod był czytelny, żadne z nich nie jest tak intuicyjne.źródło
Prosto po angielsku wyjaśniono składnię:
Można zapisać jako:
źródło
condition ? true
true
false
i""
wszystko powinno być w porządku, aby zignorować część else.2 == 2 ? doSomething()
byłoby tak samo jakif (2 == 2) doSomething()
?: false
lub: ""
powinien być tam, ponieważ javascript tego oczekuje.źródło
Jeśli chcesz tylko wbudowany JEŻELI (bez ELSE), możesz użyć logicznego operatora AND:
Jeśli potrzebujesz również ELSE, skorzystaj z operacji trójskładnikowej zaproponowanej przez inne osoby.
źródło
Możesz to zrobić w JavaScript:
źródło
Do Twojej wiadomości możesz komponować operatory warunkowe
Jeśli Twoja logika jest wystarczająco złożona, możesz rozważyć użycie IIFE
Oczywiście, jeśli planujesz używać tej logiki więcej niż raz, musisz nauczyć się enkapsulować ją w funkcji, aby zachować ładność i SUSZENIE.
źródło
Często muszę uruchamiać więcej kodu dla każdego warunku, używając:
( , , )
można wykonać wiele elementów kodu:źródło
Aby dodać do tego, możesz również użyć wbudowanego, jeśli warunek z && i || operatorzy. Lubię to
źródło
Pytanie nie jest zasadniczo takie: czy mogę napisać następujące?
odpowiedź brzmi: tak, powyższe zostanie przetłumaczone.
jednak uważaj na następujące czynności
pamiętaj o zawijaniu niejednoznacznego kodu w nawiasach klamrowych, ponieważ powyższe spowoduje zgłoszenie wyjątku (a podobne permutacje spowodują niepożądane zachowanie).
źródło
wbudowany, jeśli:
prawdziwy wniosek: stwierdzenia wykonywane, gdy hipoteza jest prawdziwa
wniosek falsey: stwierdzenia wykonywane, gdy hipoteza jest fałszywa
twój przykład:
źródło