ECMAScript 迭代語句

迭代語句又叫循環語句,聲明一組要反復執行的命令,直到滿足某些條件為止。

循環通常用于迭代數組的值(因此而得名),或者執行重復的算術任務。

本節為您介紹 ECMAScript 提供的四種迭代語句。

do-while 語句

do-while 語句是后測試循環,即退出條件在執行循環內部的代碼之后計算。這意味著在計算表達式之前,至少會執行循環主體一次。

它的語法如下:

do {statement} while (expression);

例子:

var i = 0;
do {i += 2;} while (i < 10);

while 語句

while 語句是前測試循環。這意味著退出條件是在執行循環內部的代碼之前計算的。因此,循環主體可能根本不被執行。

它的語法如下:

while (expression) statement

例子:

var i = 0;
while (i < 10) {
  i += 2;
}

for 語句

for 語句是前測試循環,而且在進入循環之前,能夠初始化變量,并定義循環后要執行的代碼。

它的語法如下:

for (initialization; expression; post-loop-expression) statement

注意:post-loop-expression 之后不能寫分號,否則無法運行。

例子:

iCount = 6;
for (var i = 0; i < iCount; i++) {
  alert(i);
}

這段代碼定義了初始值為 0 的變量 i。只有當條件表達式(i < iCount)的值為 true 時,才進入 for 循環,這樣循環主體可能不被執行。如果執行了循環主體,那么將執行循環后表達式,并迭代變量 i。

for-in 語句

for 語句是嚴格的迭代語句,用于枚舉對象的屬性。

它的語法如下:

for (property in expression) statement

例子:

for (sProp in window) {
  alert(sProp);
}

這里,for-in 語句用于顯示 window 對象的所有屬性。

前面討論過的 PropertyIsEnumerable() 是 ECMAScript 中專門用于說明屬性是否可以用 for-in 語句訪問的方法。