For, While e Do While LOOP in JavaScript con esempio

⚡ Riepilogo intelligente

Cicli For, While e Do While in JavaQuesto script ripete un blocco di istruzioni senza duplicare il codice. L'articolo illustra la sintassi di ciascun comando, mostra esempi eseguibili con l'output previsto, introduce le forme for-in e for-of e tratta i comandi break, continue e la prevenzione dei cicli infiniti.

  • 🔁 Scopo principale: Un ciclo esegue le stesse istruzioni ripetutamente per un numero fisso di iterazioni o finché una determinata condizione rimane vera.
  • 🔢 per il ciclo: Nell'intestazione sono presenti tre espressioni che gestiscono l'inizializzazione, il test di uscita e l'aggiornamento, il che si adatta a un numero di iterazioni noto.
  • mentre il ciclo: La condizione viene verificata prima di ogni passaggio, quindi il corpo potrebbe non essere mai eseguito se la condizione iniziale è falsa.
  • 1️⃣ fai…ciclo while: Il corpo viene sempre testato almeno una volta perché le sue condizioni vengono valutate dopo il primo passaggio.
  • 🔑 per…nel ciclo: Itera sulle chiavi di un oggetto, restituendo i nomi delle proprietà anziché i valori.
  • 📦 per…del ciclo: Itera sui valori di array, stringhe, mappe e altri oggetti iterabili.
  • Controllo del flusso: L'istruzione break esce immediatamente dal ciclo, mentre continue passa all'iterazione successiva.

Per il ciclo For While e Do While JavaCopione

Che cos'è un ciclo in JavaCopione?

I cicli sono utili quando devi eseguire ripetutamente le stesse righe di codice, per un numero specifico di volte o finché una condizione specifica è vera. Supponiamo che tu voglia digitare un messaggio "Ciao" 100 volte nella tua pagina web. Ovviamente dovrai copiare e incollare la stessa riga 100 volte. Se invece utilizzi i loop, puoi completare questa attività in sole 3 o 4 righe.

Ogni ciclo è costituito dalle stesse tre parti, indipendentemente dalla sintassi: un valore iniziale, una condizione che decide se eseguire un altro passaggio e un aggiornamento che fa avanzare il ciclo verso la sua uscita. Il diagramma seguente mostra questo ciclo ripetitivo.

Usa i loop in Javascript

Diversi tipi di cicli in JavaCopione

Esistono principalmente quattro tipi di loop in JavaCopione.

  1. per loop
  2. ciclo for/in
  3. mentre il ciclo
  4. fai... while loop

Moderno JavaLo script aggiunge il ciclo for…of per iterare direttamente i valori, quindi in pratica sono disponibili cinque forme. La tabella seguente mostra quale utilizzare in una data situazione.

Ciclo continuo Condizione verificata Esecuzioni minime migliori Usato per
per Prima di ogni passaggio 0 Un numero noto di ripetizioni
while Prima di ogni passaggio 0 Un conteggio sconosciuto guidato da una condizione
fare...mentre Dopo ogni passaggio 1 Menu e richieste che devono essere eseguiti una sola volta
per…in Prima di ogni passaggio 0 Lettura dei tasti di un oggetto
per…di Prima di ogni passaggio 0 Lettura dei valori di un array o di una stringa

per loop

Sintassi:

for(statement1; statement2; statment3)
{
lines of code to be executed
}
  1. L'istruzione1 viene eseguita per prima, ancor prima dell'esecuzione del cicloping codice. Quindi, questa istruzione viene normalmente utilizzata per assegnare valori alle variabili che verranno utilizzate all'interno del ciclo.
  2. L'istruzione2 è la condizione per eseguire il ciclo.
  3. L'istruzione3 viene eseguita ogni volta dopo il loopping Il codice viene eseguito.

Provalo tu stesso:

<html>
<head>
	<script type="text/javascript">
		var students = new Array("John", "Ann", "Aaron", "Edwin", "Elizabeth");
		document.write("<b>Using for loops </b><br />");
		for (i=0;i<students.length;i++)
		{
		document.write(students[i] + "<br />");
		}
	</script>
</head>
<body>
</body>
</html>

Produzione:

Using for loops
John
Ann
Aaron
Edwin
Elizabeth

Il contatore inizia da 0 perché il primo indice di un schieramento è zero e la condizione utilizza students.length in modo che il ciclo si adatti automaticamente quando vengono aggiunti o rimossi nomi.

mentre il ciclo

Sintassi:

while(condition)
{
lines of code to be executed
}

Il "ciclo while" viene eseguito finché la condizione specificata è vera. All'interno del ciclo while, dovresti includere l'istruzione che terminerà il ciclo a un certo punto. Altrimenti, il ciclo non terminerà mai e il browser potrebbe bloccarsi.

Provalo tu stesso:

<html>
<head>
	<script type="text/javascript">
		document.write("<b>Using while loops </b><br />");
		var i = 0, j = 1, k;
		document.write("Fibonacci series less than 40<br />");
		while(i<40)
		{
			document.write(i + "<br />");
			k = i+j;
			i = j;
			j = k;
		}
	</script>
</head>
<body>
</body>
</html>

Produzione:

Using while loops
Fibonacci series less than 40
0
1
1
2
3
5
8
13
21
34

⚠️ Attenzione: Un ciclo while la cui condizione non diventa mai falsa blocca la scheda del browser. Assicurati sempre che una variabile all'interno del corpo del ciclo modifichi la condizione verso il falso e utilizza un contatore di sicurezza quando l'uscita dipende da dati esterni.

fai... while loop

Sintassi:

do
{
block of code to be executed
} while (condition)

Il ciclo do…while è molto simile al ciclo while. L'unica differenza è che nel ciclo do…while il blocco di codice viene eseguito una sola volta, prima ancora di verificare la condizione.

Provalo tu stesso:

<html>
<head>
	<script type="text/javascript">
		document.write("<b>Using do...while loops </b><br />");
		var i = 2;
		document.write("Even numbers less than 20<br />");
		do
		{
			document.write(i + "<br />");
			i = i + 2;
		}while(i<20)
	</script>
</head>
<body>
</body>
</html>

Produzione:

Using do...while loops
Even numbers less than 20
2
4
6
8
10
12
14
16
18

La differenza diventa evidente quando la condizione è falsa fin dall'inizio. Un ciclo while non stampa nulla, mentre un ciclo do…while stampa comunque una riga prima di fermarsi.ping.

per…nel ciclo

Il ciclo for…in scorre i nomi delle proprietà enumerabili di un oggetto. Ad ogni passaggio, la chiave successiva viene assegnata alla variabile del ciclo e il valore viene letto utilizzando la notazione tra parentesi quadre.

const student = {
    name: "Ann",
    age: 21,
    course: "JavaScript"
};

for (const key in student) {
    console.log(key + " : " + student[key]);
}

Produzione:

name : Ann
age : 21
course : JavaScript

Suggerimento: Evitate di usare `for…in` sugli array. Restituisce i valori degli indici come stringhe e accede anche alle proprietà ereditate, il che può produrre risultati inaspettati. Utilizzate invece `for…of` o un classico ciclo `for` per gli array.

per…del ciclo e perEach

Il ciclo for…of legge i valori di qualsiasi oggetto iterabile, inclusi array, stringhe, mappe e insiemi. Il metodo forEach ottiene lo stesso risultato con una funzione di callback e consente l'accesso all'indice.

const students = ["John", "Ann", "Aaron"];

// for...of reads each value directly
for (const name of students) {
    console.log(name);
}

// forEach supplies the value and the index
students.forEach(function (name, index) {
    console.log(index + " - " + name);
});

// strings are iterable too
for (const letter of "Ann") {
    console.log(letter);
}

Produzione:

John
Ann
Aaron
0 - John
1 - Ann
2 - Aaron
A
n
n

Una differenza pratica è importante: break e continue funzionano all'interno di for…of, ma non possono essere utilizzati all'interno di forEach, perché ogni callback è una funzione separata.

Dichiarazioni di interruzione e continua

Due parole chiave modificano il normale flusso di qualsiasi ciclo. L'istruzione `break` esce completamente dal ciclo, mentre l'istruzione `continue` abbandona l'iterazione corrente e passa alla successiva.

const numbers = [4, 7, 10, 13, 16, 19];

// continue: skip odd numbers
for (const n of numbers) {
    if (n % 2 !== 0) {
        continue;
    }
    console.log("even: " + n);
}

// break: stop at the first value above 12
for (const n of numbers) {
    if (n > 12) {
        console.log("first value above 12: " + n);
        break;
    }
}

Produzione:

even: 4
even: 10
even: 16
first value above 12: 13

I cicli compaiono in quasi ogni script che scriverai. Continua con il pratico JavaEsempi di codice script, rivisitare JavaMetodi degli array di script per gli helper di iterazione costruiti sopra questi cicli e leggere interno ed esterno JavaCopione per decidere dove dovrebbe essere archiviata la sceneggiatura completa.

DOMANDE FREQUENTI

Un ciclo while verifica la condizione prima della prima esecuzione, quindi il corpo del blocco potrebbe non essere mai eseguito. Un ciclo do…while la verifica successivamente, garantendo almeno un'esecuzione del blocco.

Sì. Un ciclo interno completa ogni passaggio per ogni singolo passaggio del ciclo esterno, ed è così che vengono create griglie e tabelle. Utilizza nomi di contatori diversi per evitare di sovrascrivere l'indice esterno.

Chiudi la scheda interessata, quindi correggi la condizione o l'istruzione di aggiornamento prima di ricaricare. L'aggiunta di un contatore che si interrompe dopo un numero massimo di passaggi impedisce la ripetizione durante lo sviluppo.

Il classico ciclo for è leggermente più veloce su array di grandi dimensioni perché evita l'overhead delle callback. La differenza è trascurabile al di sotto di qualche migliaio di elementi, quindi è preferibile privilegiare la leggibilità.

Solitamente utilizzano come impostazione predefinita "per…di" o "mappa". RevSi consiglia di consultare il suggerimento quando l'attività richiede un indice, un'uscita anticipata o una prima esecuzione garantita, poiché in questi casi è necessario un modulo diverso.

Un ciclo for await…of legge blocchi da una risposta in streaming e aggiunge ogni token alla pagina. È la controparte asincrona di for…of e richiede una funzione asincrona.

Riassumi questo post con: