I migliori prodotti

Il ciclo do while in JavaScript, così come negli altri linguaggi dove questo costrutto esiste, consente di eseguire le istruzioni almeno una volta. Se la condizione è vera allora si ripete nuovamente il ciclo, altrimenti si passa all’istruzione successiva.

Il ciclo do-while è difatti un costrutto post-condizionale.

Sintassi do while JavaScript

La sintassi del do while è dunque questa:

do {

      // istruzioni;

} while (condizione);

Si può chiaramente avere anche una singola istruzione da eseguire.

La semantica del costrutto do-while è dunque questa:

1. Si esegue l’istruzione (o più di una);

2. Dopo si valuta la condizione, la quale può essere vera o falsa.

3. Quindi se la condizione è vera si ritorna al punto 1; altrimenti si passa all’istruzione successiva.

Esempio 1 – do while JavaScript

Come primo esempio ripropongo un esercizio già sviluppato con il ciclo while nella precedente lezione.

Visualizziamo i numeri da 0 a 9 in ordine crescente.

Per questo esempio inizializziamo sempre una variabile contatore: c = 0.

Poi, con il ciclo do while, stampiamo la prima istruzione, incrementiamo c di 1 e solo dopo valutiamo la condizione. Se la condizione è vera allora il ciclo ripartirà nuovamente eseguendo le stesse istruzioni.

Da notare che se avessi erroneamente inserito la condizione c >10, comunque le istruzioni all’interno del do-while sarebbero state eseguite almeno una volta.

Ecco di seguito il codice completo:

let c = 0;
do {
   console.log(c + '</br>');
   c++;
} while (c < 10);

Corso su JavaScript

Esempio 2 – do while JavaScript

In questo secondo esempio utilizzeremo il ciclo do while per effettuare un controllo dell’input. Questo infatti è uno dei maggiori casi in cui il ciclo do while viene utilizzato.

Controllare che un numero preso in input sia positivo e richiederlo in caso contrario.

All’interno del ciclo inseriamo l’istruzione che serve a prendere un dato in input. Solo dopo controlliamo se tale valore è negativo. Se questa condizione è vera il ciclo verrà ripetuto.

Ecco dunque il codice completo:

let a;

do {
  a = prompt("Inserisci un numero:");
} while (a<0);
        
console.log(a);

In questo esempio abbiamo utilizzato la funzione prompt di JavaScript che serve per aprire una finestra del browser con un campo di input per l’inserimento dei dati.

Esempio 3 – controllo dell’input su due dati in input

In questo terzo esempio sul ciclo do while in JavaScript prendiamo in input due numeri e controlliamo se entrambi sono positivi, altrimenti li richiediamo.

La risoluzione dell’esercizio è simile al precedente, ma occorre prestare attenzione alla condizione. Infatti, occorre testare se a oppure b sono minori di zero. Si può indurre, erroneamente, ad utilizzare l’operatore logico and ( && ), ma in questo caso il programma non riesegue il ciclo se uno dei due numeri è negativo.

Provate a riflettere proprio su questo!

Di seguito il codice completo:

let a, b;

do {
   a = prompt("Inserisci il numero a:");
   b = prompt("Inserisci il numero b:");
} while ((a<0) || (b<0));
	   
console.log(a + '</br>');
console.log(b);

In questa lezione abbiamo introdotto il ciclo do while in JavaScript, nelle prossime lezioni proporrò tanti altri esempi.

Alcuni link utili

Tutorial JavaScript

Il linguaggio JavaScript

Come utilizzare JavaScript alert

Come utilizzare JavaScript confirm

Utilizzare JavaScript prompt

Variabili in JavaScript