risposta
elseif di JavaScript è nel formato "else if", per esempio:
if (condition) {
} else if (other_condition) {
} else {
}
Basta aggiungere uno spazio:
if (...) {
} else if(...) {
} else {
}
if (100 < 500) {
//any action
}
else if (100 > 500){
//any another action
}
Facile, utilizzare lo spazio
In realtà, ritengo che tecnicamente una volta rientrata correttamente dovrebbe essere:
if (condition) {
...
} else {
if (condition) {
...
} else {
...
}
}
Non c'è else if
.
Puoi, e dovresti, scrivere questo 'if (condition1) {...} else if (condition2) {...} else {...}'. – zwol
Essenzialmente quando si usa 'else if' si sta omettendo il blocco opzionale' {...} '. Stavo facendo riferimento a [EMCAScript] (http://www.ecma-international.org/ecma-262/5.1/#sec-12.5) e [MDN] (https://developer.mozilla.org/en-US /docs/Web/JavaScript/Reference/Statements/if...else#Description) .. – skube
In termini di grammatica formale della lingua, sei corretto, ma la tua risposta potrebbe dare alle persone l'impressione errata che 'else {if ...} 'è buono stile. – zwol
Si potrebbe usare questa sintassi che è funzionalmente equivalente:
switch (true) {
case condition1:
//e.g. if (condition1 === true)
break;
case condition2:
//e.g. elseif (condition2 === true)
break;
default:
//e.g. else
}
Questo funziona perché ognuno condition
sia pienamente valutata prima del confronto con il valore switch
, in modo che il primo che restituisce true
corrisponderà e la sua filiale volontà eseguire. Le succursali successive non verranno eseguite, a condizione che siate remember to use break
.
Nota che rigoroso confronto viene utilizzato, in modo da un ramo cui condition
è semplicemente "truthy" sarà non essere eseguito. È possibile trasmettere un valore di verità a true
con doppia negazione: !!condition
.
Questo non è funzionalmente equivalente AFAIK. Quello che puoi mettere nelle condizioni è molto più limitato, e 'switch (true)' non ha nemmeno senso. – zwol
Ammetto che all'inizio sembra strano ma è equivalente. La condizione può essere qualsiasi cosa tu voglia (comprese le chiamate di funzione o qualsiasi altra cosa) e se valuta "vero" allora quel caso sarà soddisfatto - esattamente come "else if". – Tamlyn
Oh, capisco cosa stai facendo ora. È dannatamente intelligente. (Ho aggiunto un paragrafo che spiega come funziona, in modo da poter ritrattare il mio downvote.) – zwol
Le istruzioni condizionali vengono utilizzate per eseguire azioni diverse in base a condizioni diverse.
Usa if
per specificare un blocco di codice da eseguire, se una condizione specificata è vera
Usa else
per specificare un blocco di codice da eseguire, se la stessa condizione è falsa
Uso else if
per specificare una nuova condizione da testare, se la prima condizione è falsa
Quando le persone fanno domande come questa .. Penso che mostri un fondamentale fraintendimento. Con 'if' e' else' non c'è davvero bisogno di 'elseif'. – mpen
@Mark, sono d'accordo ... ma a volte mi incasina perché sono abituato alle lingue che hanno un altro. So che è identico, ma mi chiedo quale sia la ragione di javascript per lasciarlo fuori. Sono contento, tuttavia, che non abbiano usato elif, perché è semplicemente sbagliato :) –
@JayK: Haha .. PHP ha 'elseif', perl ha' elsif' (penso), e Python ha 'elif'. all'inizio mi ha dato fastidio, ma ... credo che sia carino. Tuttavia ha un leggero scopo in Python e PHP, perché altrimenti non funzionerebbe con la loro sintassi del colon. – mpen