English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base JavaScript

Oggetto JavaScript

Funzione JavaScript

JS HTML DOM

BOM del browser JS

Tutorial di base AJAX

Manuale JavaScript

Ciclo For JavaScript

Il ciclo viene utilizzato nella programmazione per eseguire automaticamente compiti ripetitivi.

Ad esempio, supponiamo che vogliamo stampare "Hello World" 10 volte. Puoi farlo come segue:

  document.write("Hello World<br>");
  document.write("Hello World<br>");
  document.write("Hello World<br>");
  document.write("Hello World<br>");
  document.write("Hello World<br>");
  document.write("Hello World<br>");
  document.write("Hello World<br>");
  document.write("Hello World<br>");
  document.write("Hello World<br>");
  document.write("Hello World<br>");

Nella ciclo, la statement deve essere scritta una volta sola, e il ciclo eseguirà 10 volte, come segue:

for (let i = 0; i < 10; i++) {
document.write("Hello World<br>");
}
Testa per vedere‹/›

Ciclo For

La sintassi del ciclo for è la seguente:

for (inizializzazione; condizione; final-expression) {
    //语句 da eseguire
}

inizializzazioneViene eseguito prima dell'esecuzione della语句 (una volta).

condizioneSi definisce la condizione per l'esecuzione della语句.

Vengono eseguiti dopo l'esecuzione della语句.final-expression.

for (var i = 0; i < 5; i++) {
    document.write("<br>The number is " + i);
}
Testa per vedere‹/›

Dall'esempio sopra, puoi leggere:

  • inizializzazione Si imposta la variabile prima dell'inizio del ciclo (variabile i = 0).

  • condizione Si definisce la condizione di esecuzione del ciclo (devo essere minore di 5).

  • Ogni volta che si esegue il blocco di codice del ciclo,La final-expressionAumentiamo un valore (i++).

Nell'esempio seguente, eseguiamo un ciclo for in ordine crescente su un array:

var frutti = ['Apple', 'Mango', 'Banana', 'Orange'];
var txt = "
for (var i = 0; i < frutti.length; i++) {
    txt += fruits[i] + '<br>';
}
Testa per vedere‹/›

Nell'esempio seguente, eseguiamo un ciclo for in ordine decrescente su un array:

var frutti = ['Apple', 'Mango', 'Banana', 'Orange'];
var txt = "
for (var i = fruits.length - 1; i >= 0; i--) {
txt += fruits[i] + '<br>';
}
Testa per vedere‹/›

可选表达式

for循环中的三个表达式都是可选的。例如,我们可以通过在循环外部初始化变量来编写相同的For语句,而不需要初始化表达式。

//在循环外声明变量
var i = 0;
//初始化循环
for (; i < 5; i++) {
document.write(i);
}
Testa per vedere‹/›

在这种情况下,第一个; 表示该语句是指向初始化,条件还是最终表达式,即使省略它也是必要的。

下面,我们还可以从循环中删除条件。我们将使用一个if语句和break来告诉循环在i大于3时停止运行,这与true条件相反。

//在循环外声明变量
var i = 0;
//省略初始化和条件
for (; ; i++) {
if (i > 3) {
break;
}
document.write(i);
}
Testa per vedere‹/›

注意:break如果省略该条件,则必须包含该语句,否则循环将永远无限循环运行,并可能导致浏览器崩溃。

最后,可以通过将最终表达式放在循环末尾来将其删除。两个分号仍必须包含在内,否则循环将无法运行。

//在循环外声明变量
var i = 0;
//省略所有表达式
for (; ; ) {
if (i > 3) {
break;
}
document.write(i);
i++;
}
Testa per vedere‹/›

从上面的示例可以看出,包括所有这三个语句通常会产生最简洁易读的代码。但是,知道以后可以省略语句是很有用的。

嵌套循环

您可以嵌套循环,即在另一个循环内循环。

嵌套循环在矩阵乘法中的大多数地方都使用,显示表格和许多其他地方:

var txt = "";
for (var row = 0; row < 10; row++) {
   for (var col = 0; col < row; col++) {
   txt += " * ";
   }
   txt += "<br>";
}
Testa per vedere‹/›

For ...in循环

for...in循环迭代的对象的属性。

为了演示,我们将创建一个简单的myObj对象,其中包含一些name:value对。

var myObj = {
name: "VISHAL",
age: 22,
height: 175,
city: "New Delhi",
getNothing: function () { return ""; }
};
for (let x in myObj) {
document.write(x);
}
Testa per vedere‹/›

In ogni iterazione, una proprietà proveniente dall'oggetto viene assegnata ax,E questo ciclo continua fino a che tutte le proprietà dell'oggetto sono esaurite.

Esempio che implementa un ciclo for...in e stampa le proprietà del browser web.NavigatorOggetto:

for (let x in navigator) {
document.write(x);
}
Testa per vedere‹/›

For ... Of loop

La语句 for...of crea un ciclo che itera su oggetti iterabili, inclusi: stringhe built-in, array, oggetti simili a array e oggetti iterabili definiti dall'utente.

let iterable = [10, 20, 30, 40, 50];
for (let x of iterable) {
document.write(x);
}
Testa per vedere‹/›

In ogni iterazione, un elemento proveniente dall'oggetto viene assegnato ax,E questo ciclo continua fino a che tutti gli elementi dell'oggetto sono esauriti.

Non importa cosa viene iterato con for...in e for...of loop. La principale differenza tra loro è ciò che iterano:

  • Iterazione delle proprietà enumerabili degli oggetti con for...in loop, in qualsiasi ordine

  • Iterazione dei dati con for...of loop, l'oggetto iterato deve essere definito per essere percorso

While loop

While loop e do...while loop saranno spiegati nel prossimo capitolo.