Czy to jest poprawne?
if(condition)
{
}
elseif(condition)
{
}
else
{
}
Czy to jest poprawne?
if(condition)
{
}
elseif(condition)
{
}
else
{
}
Odpowiedzi:
Kod JavaScript ifif ma format „else if”, np .:
if (condition) {
} else if (other_condition) {
} else {
}
elseif, Perl ma elsif(tak myślę), a Python elif... z początku mnie to zirytowało, ale ... Myślę, że to trochę urocze. Służy to jednak niewielkiemu celowi w Pythonie i PHP, ponieważ inaczej nie działałoby z ich składnią dwukropka.
if/ elsebloków, ale ludzie są zachęcani do korzystania z nich, więc rozumiem, dlaczego dla nowego użytkownika wygląda to nieprawidłowo.
Możesz użyć tej składni, która jest funkcjonalnie równoważna:
switch (true) {
case condition1:
//e.g. if (condition1 === true)
break;
case condition2:
//e.g. elseif (condition2 === true)
break;
default:
//e.g. else
}
Działa to, ponieważ każdy conditionjest w pełni oceniany przed porównaniem z switchwartością, więc pierwszy, który ocenia, truebędzie zgodny i jego gałąź zostanie wykonana. Kolejne oddziały nie zostaną wykonane, pod warunkiem, że pamiętasz o użyciubreak .
Zauważ, że stosowane jest ścisłe porównanie, więc gałąź, która conditionjest jedynie „prawdomówna”, nie zostanie wykonana. Można rzucić wartość truthy się truez podwójnej negacji: !!condition.
switch (true)nawet nie ma sensu.
trueto przypadek zostanie spełniony - dokładnie jak else if.
Właściwie, technicznie przy prawidłowym wcięciu byłoby to:
if (condition) {
...
} else {
if (condition) {
...
} else {
...
}
}
Nie ma else if, ściśle mówiąc.
(Aktualizacja: Oczywiście, jak wskazano, powyższe nie jest uważane za dobry styl.)
if (condition1) { ... } else if (condition2) { ... } else { ... }.
else iffaktycznie pomijasz opcjonalny blok {...}. Odniosłem się do niego na podstawie EMCAScript i MDN ..
else { if ... }jest dobrym stylem.
if ( 100 < 500 ) {
//any action
}
else if ( 100 > 500 ){
//any another action
}
Łatwa w użyciu przestrzeń
Instrukcje warunkowe służą do wykonywania różnych działań w oparciu o różne warunki.
Służy ifdo określania bloku kodu do wykonania, jeśli określony warunek jest spełniony
Służy elsedo określania bloku kodu do wykonania, jeśli ten sam warunek jest fałszywy
Służy else ifdo określania nowego warunku do przetestowania, jeśli pierwszy warunek jest fałszywy
Brakuje spacji między elseiif
Powinno być else ifzamiastelseif
if(condition)
{
}
else if(condition)
{
}
else
{
}
ifielsenaprawdę nie ma takiej potrzebyelseif.