Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 11 di 112
  • livello avanzato
Indice lezioni

If, istruzioni condizionali e blocchi di codice

If è l'istruzione condizionale di base. Serve a governare il flusso logico di un programma selezionando i blocchi di codice da eseguire.
If è l'istruzione condizionale di base. Serve a governare il flusso logico di un programma selezionando i blocchi di codice da eseguire.
Link copiato negli appunti

Come è noto, un programma (o uno 'script') è una sequenza di istruzioni eseguite dall'engine JavaScript. Le istruzioni altro non sono che un flusso di comandi che stabiliscono il comportamento del sistema per portarlo da uno stato iniziale ad uno stato finale. In altre parole il programma ci permette di descrivere un algoritmo che ci permette di raggiungere un certo obiettivo o ottenere un determinato risultato.

Abbiamo iniziato ad osservare come assegnare valori alle variabili e come operare su numeri e stringhe con JavaScript per creare espressioni e fare calcoli. In questa lezione e nelle successive esaminiamo alcune istruzioni che ci aiutano a stabilire il flusso di esecuzione del nostro programma, per descrivere al meglio i nostri algoritmi e controllare il flusso dell'esecuzione.

Blocchi di codice

Più istruzioni possono essere raggruppate in blocchi che fungono come una singola istruzione. I blocchi di codice sono importanti quando si vuole evidenziare che un gruppo di istruzioni deve essere eseguito interamente, ad esempio in seguito alla valutazione di una condizione.

Un blocco di codice è racchiuso tra parentesi graffe come nel seguente esempio:

{
	x = x + 3;
	y = x * 2;
}

Al termine di un blocco di codice non va inserito il punto e virgola. Questa è l'unica eccezione all'uso del punto e virgola come delimitatore di istruzioni.

Istruzioni condizionali: if

Le istruzioni condizionali sono una categoria di istruzioni che consentono di eseguire blocchi di codice alternativi in base ad una condizione, consentendo ad uno script di prendere, in un certo senso, delle decisioni. JavaScript prevede due istruzioni condizionali: if e switch.

Possiamo trovare l'istruzione if in tre forme:

  • if semplice;
  • if con alternativa (if..else);
  • if a cascata (if..else if...else).

if semplice

La forma if pura esegue un blocco di codice solo se una condizione è vera. Il suo schema sintattico è:

if (condizione) {
	// istruzioni
}

dove condizione è un'espressione booleana e istruzioni rappresenta appunto la sequenza di istruzioni da eseguire nel caso in cui la condizione sia vera. Il seguente è un esempio di utilizzo di questa forma di if:

if (x >= 37) {
	messaggio = "Hai la febbre.\n";
	messaggio = messaggio + "Temperatura: " + x + " gradi."
}

Se il blocco associato all'if è composto da una sola istruzione è possibile non inserire le parentesi graffe:

if (x >= 37)
	messaggio = "Hai la febbre.\nTemperatura: " + x + " gradi.";

In questo caso è consigliabile aggiungere il punto e virgola finale.

if...else

La seconda forma è l'if...else. In questa forma viene eseguito un blocco di codice oppure un altro in base al valore della condizione. Lo schema sintattico si presenta così:

if (condizione) {
	// istruzioni1
} else {
	//istruzioni2
}

Se condizione è vera vengono eseguite le istruzioni del blocco istruzioni1 altrimenti viene eseguito il blocco istruzioni2. Ecco un esempio di uso di questa forma:

if (x%2 == 0) {
	messaggio = x + " è pari";
} else {
	messaggio = x + " è dispari";
}

È possibile notare una certa somiglianza con l'operatore condizionale che abbiamo visto parlando degli operatori. In effetti l'istruzione precedente è del tutto equivalente alla seguente espressione:

messaggio = (x%2 == 0 ? x + " è pari" : x + " è dispari");

Consideriamo, però, che l'istruzione if..else consente di avere più istruzioni in ciascun blocco e non restituisce necessariamente il valore di un'espressione.

if a cascata

La terza forma di if è l'if..else if...else o if a cascata, che mette a disposizione più alternative di esecuzione:

if (condizione1) {
	istruzioni1
} else if (condizione2) {
	istruzioni2
} else {
	istruzioni3
}

In questo caso, se condizione1 è vera viene eseguito il blocco istruzioni1. Se condizione1 non è soddisfatta viene verificata condizione2 e in base al suo valore verrà eseguito il blocco istruzioni2 o istruzioni3.

Ti consigliamo anche