Czy to jest poprawne?
if(condition)
{
}
elseif(condition)
{
}
else
{
}
javascript
if-statement
syntax
Hari Gillala
źródło
źródło
if
ielse
naprawdę nie ma takiej potrzebyelseif
.elseif
, Perl maelsif
(tak myślę), a Pythonelif
... 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.Po prostu dodaj spację:
źródło
Możesz użyć tej składni, która jest funkcjonalnie równoważna:
Działa to, ponieważ każdy
condition
jest w pełni oceniany przed porównaniem zswitch
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
.źródło
switch (true)
nawet nie ma sensu.true
to przypadek zostanie spełniony - dokładnie jakelse if
.if([]) alert('a')
Generuje ostrzeżenie, ale nie zwracaswitch(true){case []:alert('a')}
. Jest tak, ponieważ[]
jest to prawdziwa wartość, ale nie równatrue
, jak wyjaśniono w tym wydaniu @zwol .Właściwie, technicznie przy prawidłowym wcięciu byłoby to:
Nie ma
else if
, ściśle mówiąc.(Aktualizacja: Oczywiście, jak wskazano, powyższe nie jest uważane za dobry styl.)
źródło
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.Łatwa w użyciu przestrzeń
źródło
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łnionySłuży
else
do określania bloku kodu do wykonania, jeśli ten sam warunek jest fałszywySłuży
else if
do określania nowego warunku do przetestowania, jeśli pierwszy warunek jest fałszywyźródło
źródło
Brakuje spacji między
else
iif
Powinno być
else if
zamiastelseif
źródło