In Javascript esistono tre tipi di cicli (operazioni ripetute più di una volta): il ciclo for, il ciclo while ed il ciclo do while
Il ciclo while è di tipo indefinito, ovvero ripete una determinata operazione n. numero di volte finchè la condizione non risulterà verificata.
Inoltre while è un costrutto pre-condizionale, cioè il controllo della condizione avviene prima dell’esecuzione delle istruzioni indicate tra parentesi graffe
let x = 0; while (x<=100) { document.write(x); x++; }
Abbiamo inizializzato la variabile x con valore 0 e tramite il comando while abbiamo creato un ciclo.
Creazione del ciclo:
Finché (while) la variaible x sarà minore o uguale a 100 (x<=100), come dichiarato nella condizione, esegui e ripeti le istruzioni all'interno delle parentesi graffe.
Istruzioni Ciclo:
Stampa a video la variabile x (document.write(x);) e successivamente incrementala (x++;)
Il ciclo si ripeterà n. volte finché la condizione non risulterà falsa.
Nel dettaglio, saranno eseguite le istruzione finché la variabile x raggiungerà il valore 101.
La condizione risulterà quindi falsa, in quanto, 101 non è <=100 ed il ciclo sarà così concluso.
let y = 0; while (y<= 100){ document.write(y); y+=2; }
Note: Con l'istruzione document.write() possiamo stampare a video; può contenere variabili stringhe e tag html. Es. document.write("ciao"); document.write("Ciao" + nome) document.write("<div> <p> Ciao Marco </p> </div>")
<html><head></head> <body> <script> let Messaggio = "Hello World!"; document.write("<div><p>Messaggio</p></div>"); <script> </body></html>
La differenza sostanziale rispetto al while
classico consiste nel fatto che la condizione viene valutata dopo aver eseguito le istruzioni. Questo garantisce che il blocco di codice verrà eseguito almeno una volta.
Mentre in un semplice ciclo di tipo While se la condizione risulta subito falsa il ciclo non viene semplicemente eseguito (esce dal ciclo), in un ciclo Do-While (con la condizione posta alla fine), è possibile indicare delle azioni da eseguire (all’interno di DO -antecedente-) nel caso in cui la condizione sia Vera, e delle azioni da eseguire nel caso risulti falsa;
In sostanza il corpo del ciclo è posto all’interno di DO;
let y = 0; do { document.write(y); y+=2; } while (y<= 100); document.write("La variabile y ha raggiunto il valore ", y); }