JavaScript For Loop
I loop possono eseguire un blocco di codice un numero di volte.
Cicli JavaScript
I loop sono utili, se si desidera eseguire lo stesso codice più e più volte, ogni volta con un valore diverso.
Spesso questo è il caso quando si lavora con gli array:
Invece di scrivere:
text += cars[0] + "<br>";
text += cars[1] + "<br>";
text += cars[2] + "<br>";
text += cars[3] + "<br>";
text += cars[4] + "<br>";
text += cars[5] + "<br>";
Tu puoi scrivere:
for (let i = 0; i < cars.length; i++) {
text += cars[i] + "<br>";
}
Diversi tipi di loop
JavaScript supporta diversi tipi di loop:
for
- scorre un blocco di codice un certo numero di voltefor/in
- scorre le proprietà di un oggettofor/of
- scorre i valori di un oggetto iterabilewhile
- scorre un blocco di codice mentre una condizione specificata è verado/while
- scorre anche un blocco di codice mentre una condizione specificata è vera
Il ciclo For
Il for
ciclo ha la seguente sintassi:
for (statement 1; statement 2; statement 3) {
// code block to be executed
}
L' istruzione 1 viene eseguita (una volta) prima dell'esecuzione del blocco di codice.
L' istruzione 2 definisce la condizione per l'esecuzione del blocco di codice.
L' istruzione 3 viene eseguita (ogni volta) dopo l'esecuzione del blocco di codice.
Esempio
for (let i = 0; i < 5; i++) {
text += "The number is " + i + "<br>";
}
Dall'esempio sopra, puoi leggere:
L'istruzione 1 imposta una variabile prima dell'inizio del ciclo (sia i = 0).
L'istruzione 2 definisce la condizione per l'esecuzione del ciclo (i deve essere inferiore a 5).
L'istruzione 3 aumenta un valore (i++) ogni volta che il blocco di codice nel ciclo è stato eseguito.
Dichiarazione 1
Normalmente utilizzerai l'istruzione 1 per inizializzare la variabile utilizzata nel ciclo (let i = 0).
Questo non è sempre il caso, JavaScript non si preoccupa. L'affermazione 1 è facoltativa.
È possibile avviare molti valori nell'istruzione 1 (separati da virgola):
Esempio
for (let i = 0, len = cars.length, text = ""; i < len; i++) {
text += cars[i] + "<br>";
}
E puoi omettere l'istruzione 1 (come quando i tuoi valori sono impostati prima dell'inizio del ciclo):
Esempio
let i = 2;
let len = cars.length;
let text = "";
for (; i < len; i++) {
text += cars[i] + "<br>";
}
Dichiarazione 2
Spesso l'istruzione 2 viene utilizzata per valutare la condizione della variabile iniziale.
Questo non è sempre il caso, JavaScript non si preoccupa. Anche l'affermazione 2 è facoltativa.
Se l'istruzione 2 restituisce true, il ciclo ricomincia da capo, se restituisce false, il ciclo termina.
Se ometti l'istruzione 2, devi fornire un'interruzione all'interno del ciclo. Altrimenti il ciclo non finirà mai. Questo andrà in crash il tuo browser. Leggi le interruzioni in un capitolo successivo di questo tutorial.
Dichiarazione 3
Spesso l'istruzione 3 incrementa il valore della variabile iniziale.
Questo non è sempre il caso, JavaScript non si preoccupa e l'istruzione 3 è facoltativa.
L'istruzione 3 può fare qualsiasi cosa come incremento negativo (i--), incremento positivo (i = i + 15) o qualsiasi altra cosa.
L'istruzione 3 può anche essere omessa (come quando incrementi i tuoi valori all'interno del ciclo):
Esempio
let i = 0;
let len = cars.length;
let text = "";
for (; i < len; ) {
text += cars[i] + "<br>";
i++;
}
Ambito di applicazione
Usando var
in un ciclo:
Esempio
var i = 5;
for (var i = 0; i < 10; i++) {
// some code
}
// Here i is 10
Usando let
in un ciclo:
Esempio
let i = 5;
for (let i = 0; i < 10; i++) {
// some code
}
// Here i is 5
Nel primo esempio, utilizzando var
, la variabile dichiarata nel ciclo ridichiara la variabile al di fuori del ciclo.
Nel secondo esempio, utilizzando let
, la variabile dichiarata nel ciclo non dichiara nuovamente la variabile al di fuori del ciclo.
Quando let
viene utilizzata per dichiarare la variabile i in un ciclo, la variabile i sarà visibile solo all'interno del ciclo.
Cicli For/Off e For/In
Il for/in
ciclo e il for/of
ciclo sono spiegati nel capitolo successivo.
Mentre loop
Il while
ciclo e il do/while
sono spiegati nei capitoli successivi.