Ist das richtig?
if(condition)
{
}
elseif(condition)
{
}
else
{
}
Ist das richtig?
if(condition)
{
}
elseif(condition)
{
}
else
{
}
Antworten:
Das elseif von JavaScript hat das Format "else if", z.
if (condition) {
} else if (other_condition) {
} else {
}
elseif
, Perl hat elsif
(glaube ich) und Python hat elif
... diese Art hat mich zuerst geärgert, aber ... ich denke, es ist irgendwie süß. In Python und PHP erfüllt es jedoch einen geringfügigen Zweck, da es sonst mit der Doppelpunktsyntax nicht funktionieren würde.
if
/ else
blocks nicht erforderlich , aber die Benutzer werden aufgefordert, sie zu verwenden, damit ich verstehen kann, warum dies für einen neuen Benutzer falsch aussieht.
Sie können diese Syntax verwenden, die funktional äquivalent ist:
switch (true) {
case condition1:
//e.g. if (condition1 === true)
break;
case condition2:
//e.g. elseif (condition2 === true)
break;
default:
//e.g. else
}
Dies funktioniert, da jeder condition
vor dem Vergleich mit dem switch
Wert vollständig ausgewertet wird, sodass der erste Wert, der ausgewertet true
wird, übereinstimmt und sein Zweig ausgeführt wird. Nachfolgende Verzweigungen werden nicht ausgeführt, sofern Sie daran denken, sie zu verwendenbreak
.
Beachten Sie, dass ein strikter Vergleich verwendet wird, sodass ein Zweig, der condition
lediglich "wahr" ist, nicht ausgeführt wird. Sie können einen Wahrheitswert true
mit doppelter Negation umsetzen : !!condition
.
switch (true)
macht nicht einmal Sinn.
true
ist dieser Fall erfüllt - genau wie else if
.
if([]) alert('a')
die Warnung erzeugen, dies jedoch nicht tun switch(true){case []:alert('a')}
. Das liegt daran, dass []
es sich um einen wahrheitsgemäßen Wert handelt, der jedoch nicht gleich ist true
, wie @zwol in dieser Bearbeitung erklärt hat .
Eigentlich wäre es technisch gesehen, wenn es richtig eingerückt wäre:
if (condition) {
...
} else {
if (condition) {
...
} else {
...
}
}
else if
Genau genommen gibt es keine .
(Update: Natürlich wird das oben Gesagte, wie bereits erwähnt, nicht als guter Stil angesehen.)
if (condition1) { ... } else if (condition2) { ... } else { ... }
.
else if
den optionalen Block weg {...}
. Ich bezog mich auf EMCAScript und MDN ..
else { if ... }
ein guter Stil ist.
if ( 100 < 500 ) {
//any action
}
else if ( 100 > 500 ){
//any another action
}
Einfach, Platz nutzen
Bedingte Anweisungen werden verwendet, um verschiedene Aktionen basierend auf verschiedenen Bedingungen auszuführen.
Verwenden Sie if
diese Option, um einen Codeblock anzugeben, der ausgeführt werden soll, wenn eine bestimmte Bedingung erfüllt ist
Verwenden Sie else
diese Option, um einen Codeblock anzugeben, der ausgeführt werden soll, wenn dieselbe Bedingung falsch ist
Verwenden Sie else if
diese Option, um eine neue zu testende Bedingung anzugeben, wenn die erste Bedingung falsch ist
Ihnen fehlt ein Leerzeichen zwischen else
undif
Es sollte else if
statt seinelseif
if(condition)
{
}
else if(condition)
{
}
else
{
}
if
undelse
gibt es wirklich keine Notwendigkeitelseif
.