W javascript, gdy używasz instrukcji if z wieloma warunkami do przetestowania, czy javascript testuje je wszystkie niezależnie, czy też zwolni przed przetestowaniem ich wszystkich, jeśli jest już fałszywa?
Na przykład:
a = 1
b = 2
c = 1
if (a==1 && b==1 && c==1)
Czy javascript przetestuje wszystkie 3 z tych warunków, czy też po zobaczeniu, że b nie jest równe 1, a zatem jest fałszywe, opuści instrukcję?
Pytam z punktu widzenia wydajności. Jeśli, na przykład, testuję 3 złożone selektory jQuery, wolałbym, aby jQuery nie przeszukiwał DOMu 3 razy, jeśli po pierwszym jest oczywiste, że zwróci FALSE. (W takim przypadku bardziej sensowne byłoby zagnieżdżenie 3 instrukcji if).
DODATEK: A raczej ciekawostka, jaki jest właściwy termin na to? Zauważyłem, że wielu z was używa terminu „zwarcie”. Ponadto, czy niektóre języki to robią, a inne nie?