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
/ else
blokó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 condition
jest w pełni oceniany przed porównaniem z switch
wartością, więc pierwszy, który ocenia, true
bę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 condition
jest jedynie „prawdomówna”, nie zostanie wykonana. Można rzucić wartość truthy się true
z podwójnej negacji: !!condition
.
switch (true)
nawet nie ma sensu.
true
to 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 if
faktycznie 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 if
do określania bloku kodu do wykonania, jeśli określony warunek jest spełniony
Służy else
do określania bloku kodu do wykonania, jeśli ten sam warunek jest fałszywy
Służy else if
do określania nowego warunku do przetestowania, jeśli pierwszy warunek jest fałszywy
Brakuje spacji między else
iif
Powinno być else if
zamiastelseif
if(condition)
{
}
else if(condition)
{
}
else
{
}
if
ielse
naprawdę nie ma takiej potrzebyelseif
.