JavaScript for 语句

定义和用法

for 语句创建循环,只要条件为真就执行该循环。

只要条件为真,循环就会继续运行。只有当条件变为假时它才会停止。

JavaScript 支持不同类型的循环:

  • for - 多次循环代码块
  • for/in - 逐属性遍历对象
  • for/of - Melintasi nilai dari objek yang dapat diiterasi
  • while - Melakukan blok kode jika kondisi ditentukan masih benar
  • do/while - Melakukan blok kode sekali, kemudian mengulangi perulangan jika kondisi ditentukan masih benar

Petunjuk:Gunakan kalimat break untuk keluar dari perulangan, dan gunakan kalimat continue untuk melewati nilai dalam perulangan.

实例

Jalankan blok kode perulangan lima kali:

var text = "";
var i;
for (i = 0; i < 5; i++) {
  text += "The number is " + i + "<br>";
}

亲自试一试

Ada banyak contoh TIY lainnya di bawah halaman.

Sintaks

for (statement 1; statement 2; statement 3) {
  blok kode yang akan dieksekusi
}

Nilai parameter

Parameter Deskripsi
statement1

Pilihan. Dijalankan sebelum perulangan (blok kode) dimulai. Biasanya kalimat ini digunakan untuk menginisialisasi variable penjumpan. Jika ingin menginisialisasi beberapa nilai, pisahkan setiap nilai dengan koma.

Komentar:Parameter ini dapat dilewati. Namun, jangan lewati tanda titik koma ";"

statement2

Pilihan. Definisi kondisi untuk menjalankan perulangan (blok kode). Biasanya kalimat ini digunakan untuk mengevaluasi kondisi variable penjumpan. Jika mengembalikan true, perulangan akan diulang, jika mengembalikan false, perulangan akan berakhir.

Komentar:Parameter ini dapat dilewati. Namun, jangan lewati tanda titik koma ";". Selain itu, jika parameter ini dilewati, maka harus disediakan break di dalam perulangan. Jika tidak, perulangan tidak akan berakhir, hal ini akan membuat browser Anda gagal.

statement3

Pilihan. Dijalankan setelah setiap pengulangan (blok kode). Biasanya kalimat ini digunakan untuk menaikkan atau menurunkan variable penjumpan.

Komentar:Parameter ini dapat dilewati (contoh menambah/turun nilai di dalam perulangan).

Detil teknis

Versi JavaScript: ECMAScript 1

Beberapa contoh lain:

实例

Perulangan melintasi indeks array, mengumpulkan nama mobil dari array cars:

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var text = "";
var i;
for (i = 0; i < cars.length; i++) {
  text += cars[i] + "<br>";
}

亲自试一试

Pengertian contoh:

  • Mulai dulu, kami mengatur sebuah variable (var i = 0;)
  • Lalu, kami mendefinisikan kondisi perulangan. Selama variable kurang dari panjang array (yaitu 4), perulangan akan terus berlanjut
  • Pada setiap kali perulangan dijalankan, variable bertambah satu (i++)
  • Sekali variable tidak kurang dari 4 (panjang array), kondisi salah, perulangan berakhir

实例

Menginisialisasi beberapa nilai di parameter pertama:

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i;
for (i = 0, len = cars.length, text = ""; i < len; i++) { 
  text += cars[i] + "<br>";
}

亲自试一试

实例

Lewati parameter pertama (diatur nilai sebelum perulangan dimulai):

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 2;
var len = cars.length;
var text = "";
for (; i < len; i++) {
  text += cars[i] + "<br>";
}

亲自试一试

实例

Penggunaan kalimat continue - Memutar blok kode perulangan, tetapi lewati nilai "3":

var text = ""
var i;
for (i = 0; i < 5; i++) {
  if (i == 3) {
    continue;
  }
  text += "The number is " + i + "<br>";
}

亲自试一试

实例

使用 break 语句 - 循环一段代码,但当变量 i 等于 "3" 时退出循环:

var text = ""
var i;
for (i = 0; i < 5; i++) {
  if (i == 3) {
    break;
  }
  text += "The number is " + i + "<br>";
}

亲自试一试

实例

省略第二个参数。在这个例子中,我们也使用 break 语句在 i 等于 "3" 时退出循环(如果省略第二个参数,则必须在循环内提供一个 break。否则循环将永远不会结束,您的浏览器将奔溃):

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var text = "";
var i;
for (i = 0; ; i++) {
  if (i == 3) {
    break;
  }
  text += cars[i] + "<br>";
}

亲自试一试

实例

按降序循环遍历数组的索引(负递增):

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var text = "";
var i;
for (i = cars.length - 1; i >= 0; i--) {
  text += cars[i] + "<br>";
}

亲自试一试

实例

省略最后一个参数,并在循环内递增值:

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 0;
var len = cars.length;
for (; i < len;) { 
  text += cars[i] + "<br>";
  i++;
}

亲自试一试

实例

循环遍历 NodeList 对象的节点并更改列表中所有 <p> 元素的背景颜色:

var myNodelist = document.getElementsByTagName("P");
var i;
for (i = 0; i < myNodelist.length; i++) {
  myNodelist[i].style.backgroundColor = "red";
}

亲自试一试

实例

嵌套循环的例子(循环内的循环):

var text = "";
var i, j;
for (i = 0; i < 3; i++) {
  text += "<br>" + "i = " + i + ", j = "; 
  for (j = 10; j < 15; j++) {
    document.getElementById("demo").innerHTML = text += j + " ";
  }
}

亲自试一试

浏览器支持

语句 Chrome IE Firefox Safari Opera
for 支持 支持 支持 支持 支持

相关页面

JavaScript 教程:Perulangan For JavaScript

JavaScript Reference Manual:Kata perintah for ... in JavaScript

JavaScript Reference Manual:Kata perintah break JavaScript

JavaScript Reference Manual:Kata perintah continue JavaScript

JavaScript Reference Manual:Kata perintah while JavaScript