ການສັ່ງວົງວາງ For JavaScript

ການຂັບຂວາງ (loop) ສາມາດດຳເນີນຄອບຄອງຄັນຫນັງນັ້ນຫລາຍຄັ້ງ:

ສະບັບ JavaScript

ຖ້າເຈົ້າຕ້ອງດຳເນີນລະບົບຄັນຫນັງນັ້ນແລະນຳໃຊ້ຄູ່ມູນທີ່ແຕກຕ່າງກັນຄັນຫນັງນັ້ນແລ້ວ ການຂັບຂວາງ (loop) ຈະມີຄວາມສະດວກຫນັງນັ້ນ:

ພວກເຮົາຈະພົບກັບຄວາມຕ້ອງການໃຊ້ອີກຄັນອີກຄັນອີກຄັນ:

ບໍ່ຕ້ອງຂຽນແນວນັ້ນຫນັງນັ້ນ:

text += cars[0] + "<br>"; 
text += cars[1] + "<br>"; 
text += cars[2] + "<br>"; 
text += cars[3] + "<br>"; 
text += cars[4] + "<br>"; 
text += cars[5] + "
";

您能够这样写:

for (i = 0; i < cars.length; i++) { 
    text += cars[i] + "
"; }

亲自试一试

不同类型的循环

JavaScript 支持不同类型的循环:

  • for - 多次遍历代码块
  • for/in - 遍历对象属性
  • while - 当指定条件为 true 时循环一段代码块
  • do/while - 当指定条件为 true 时循环一段代码块

For 循环

ວົງ for ແມ່ນເຄື່ອງມືທີ່ເຈົ້າຈະໃຊ້ຫຼາຍຄັ້ງໃນການສ້າງວົງ.

ຂະແນດວົງ for ແມ່ນ:

for (ການກະຈາຍ 1; ການກະຈາຍ 2; ການກະຈາຍ 3) {
     ວົງຈະດຳເນີນສິ່ງທີ່ຈະດຳເນີນ.
}

ການກະຈາຍ 1 ຈະດຳເນີນຫຼັງຈາກວົງ (i = 0).

ການກະຈາຍ 2 ຈະກຳນວຍການວົງຈະດຳເນີນ (i < 5).

ການກະຈາຍ 3 ຈະດຳເນີນຫຼັງຈາກການດຳເນີນວົງ (i++).

实例

for (i = 0; i < 5; i++) {
     text += "ຈຳນວນຫົວ ຖືກ " + i + "<br>";
}

亲自试一试

ຈາກການຂຽນລະບົບດັ່ງກ່າວນີ້, ເຈົ້າຈະຮູ້ວ່າ:

ການກະຈາຍ 1 ຈະກະຈາຍຄູ່ຂອງພາກສະນາມິດຄຳກະຈາຍພາສາອັງກິດຫຼັງຈາກການດຳເນີນວົງ (var i = 0).

ການກະຈາຍ 2 ຈະກຳນວຍການວົງຈະດຳເນີນ (i ຕ້ອງມີການຕໍ່າກວ່າ 5).

ການກະຈາຍ 3 ຈະກະຈາຍຄູ່ຂອງພາກສະນາມິດຄຳກະຈາຍພາສາອັງກິດຫຼັງຈາກການດຳເນີນການຂອງວົງ (i++).

ການກະຈາຍ 1

ປົກກະຕິ, ເຈົ້າຈະນຳໃຊ້ການກະຈາຍ 1 ເພື່ອກະຈາຍຄູ່ຂອງພາກສະນາມິດຄຳກະຈາຍພາສາອັງກິດ (i = 0).

ແຕ່ບັນຫາບໍ່ແມ່ນຕາມນັ້ນທັງໝົດ JavaScript ບໍ່ຈະສົນໃຈ. ການກະຈາຍ 1 ຈະເປັນທາງເລືອກ.

ເຈົ້າສາມາດກະຈາຍຫຼາຍຄຳກະຈາຍໃນການກະຈາຍ 1 (ດ້ວຍສັນຍາລະເບີດ):

实例

for (i = 0, len = cars.length, text = ""; i < len; i++) { 
    text += cars[i] + "
"; }

亲自试一试

ແລະເຈົ້າສາມາດກະຈາຍຫຼາຍຄຳກະຈາຍໃນການກະຈາຍ 1 (ດ້ວຍສັນຍາລະເບີດ):

实例

var i = 2;
var len = cars.length;
var text = "";
for (; i < len; i++) { 
    text += cars[i] + "
"; }

亲自试一试

ການກະຈາຍ 2

ປົກກະຕິ ການກະຈາຍ 2 ຈະນຳໃຊ້ຂັ້ນຄວາມຂອງພາກສະນາມິດຄຳກະຈາຍພາສາອັງກິດ.

ແຕ່ບັນຫາບໍ່ແມ່ນຕາມນັ້ນທັງໝົດ JavaScript ບໍ່ຈະສົນໃຈ. ການກະຈາຍ 2 ກໍ່ຈະເປັນທາງເລືອກ.

ຖ້າການກະຈາຍ 2 ກັບ true, ໂອກາດວົງຈະລົງມາຄັດທີ່ບໍ່ມີການກະຈາຍ 2, ໂອກາດວົງຈະສິ້ນສຸດ.

ຖ້າບໍ່ມີການກະຈາຍ 2, ຕ້ອງການກະຈາຍໃນການລະບົບວົງ. breakຖ້າບໍ່ມີການກະຈາຍ break, ໂອກາດການລົງມາຈະບໍ່ມີການສິ້ນສຸດ. ບັນຊີ break ຈະມີໃນຫຼັກສູດຕໍ່ໄປ.

ການກະຈາຍ 3

ປົກກະຕິ ການກະຈາຍ 3 ຈະກະຈາຍຄູ່ຂອງພາກສະນາມິດຄຳກະຈາຍພາສາອັງກິດ.

ແຕ່ບັນຫາບໍ່ແມ່ນຕາມນັ້ນທັງໝົດ JavaScript ບໍ່ຈະສົນໃຈ. ການກະຈາຍ 3 ກໍ່ຈະເປັນທາງເລືອກ.

ການກະຈາຍ 3 ສາມາດເຮັດສິ່ງຫຼາຍຢ່າງ ເຊັ່ນການຫຼຸດຕົວຫຼຸດ (i--), ການເພີ່ມຕົວ (i = i + 15), ຫຼືບາງຢ່າງອື່ນໆ.

语句 3 也可被省略(比如当您在循环内递增值时):

实例

var i = 0;
var len = cars.length;
for (; i < len; ) { 
    text += cars[i] + "
"; i++; }

亲自试一试

For/In 循环

JavaScript for/in 语句遍历对象的属性:

实例

var person = {fname:"Bill", lname:"Gates", age:62}; 
var text = "";
var x;
for (x in person) {
    text += person[x];
}

亲自试一试

While 循环

我们将在下一章学习 while 循环和 do/while 循环。

课外书

如需更多有关 JavaScript for 语句的知识,请阅读 JavaScript 高级教程中的相关内容:

ECMAScript ຄຳສັ່ງຄຳນາມ
迭代语句又叫循环语句。本节为您介绍 ECMAScript 提供的四种迭代语句。