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 語句訪問的方法。