È possibile annidare un if dentro l'altro, in modo da poter valutare anche situazioni particolarmente complesse. Ad esempio:
// provate a cambiare il valore, eventualmente // indicando anche delle stringhe valore = 5; if (isNaN(valore) ) { /* isNaN() vuol dire "not a number" e serve per * vedere se il tipo di dati in esame è differente * da un numero */ alert(valore + " non è un numero!"); } else { if (valore >= 9) { alert(valore + " è maggiore o uguale a 9") } else { alert(valore + " è minore di 9") } }
Ma oltre ad utilizzare annidamenti particolarmente complessi, possiamo usare gli operatori logici per concatenare diverse espressioni e creare condizioni complesse.
La sintassi è questa:
( (<espressione 1>) <operatore logico> (<espressione 2>) )
dove (come abbiamo visto nelle precedenti lezioni) <espressione 1> ed <espressione 2> stanno per:
<valore1> <operatore relazionale> <valore 2>
Ad esempio:
x = 6;
if ( (x >= 5) && (x <= 7) ) {
alert ("x è compresa tra 5 e 7");
}
In questo modo possiamo valutare più condizioni contemporaneamente. Gli operatori logici che utilizzerete maggiormente sono i seguenti:
| Operatore | Descrizione | Esempio |
|---|---|---|
&& | "and logico" Devono essere vere le espressioni a destra e sinistra dell’uguale. | x=6; |
|| | "or logico" Deve essere l’espressione a sinistra dell’uguale o quella a destra | nome="Gianni"; |
! | "not" Viene posta di fronte all'espressione in questione e la nega: - se è false la cambia in true - se è true la cambia in false | nome="Marco"; |
Gli operatori logici funzionano nel modo seguente:
or (||) e l'espressione di sinistra genera un true, non è necessario valutare anche l'espressione destra, perché il risultato sarà comunque true, se abbiamo un and (&&) invece, sarà ignorata l'espressione destra se a sinistra abbiamo già un false.
Avrete notato che la rappresentazione grafica di un operatore logico prevede il raddoppiamento del simbolo corrispondente (es: &&). Nel caso in cui vi dimentichiate di raddoppiare il simbolo (es: &), state in realtà utilizzando un operatore a livello di bit: il che non è scorretto, ma non sempre darà luogo allo stesso risultato.
PhantomJS, headless browser per test con JavascriptIl tool ideale per realizzare, da terminale, operazioni in remoto su... |
Creare e leggere QR Code in JavaScriptApplicazioni 'QR Code enabled' per il Web e per il mobile,... |
Jquery UI Map: web-mapping con Google Maps e jQueryUn plugin di jQuery UI per intefacciare applicaizoni Web/mobile con... |
Scrollorama e Scrolldeck, slideshow d'effetto con jQueryPlugin jQuery per ottenere Slideshow con diversi effetti di scrolling |
jCanvas, un primo semplice graficoAlla scoperta della libreria jCanvas, per semplificare il disegno e... |
Guida Node.jsIl framework che permette di per usare V8, l'interprete JavaScript... |
Canvas, guida ai frameworkCanvas, tra gli elementi di HTML5 è forse quello di maggior impatto.... |
Guida Javascript: tecniche avanzateUna guida dal taglio pratico per approfondire la programmazione a... |
Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.
Iscriviti alla newsletter
|
|
Corso Webmaster base18 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso JQuery e Ajax per Webmaster03 Luglio 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |
|
|
Corso Webmaster base11 Giugno 2012 a Roma |