ECMAScript 迭代語(yǔ)句

2018-11-02 09:04 更新

迭代語(yǔ)句又叫循環(huán)語(yǔ)句,聲明一組要反復(fù)執(zhí)行的命令,直到滿足某些條件為止。

循環(huán)通常用于迭代數(shù)組的值(因此而得名),或者執(zhí)行重復(fù)的算術(shù)任務(wù)。

本節(jié)為您介紹 ECMAScript 提供的四種迭代語(yǔ)句。

do-while 語(yǔ)句

do-while 語(yǔ)句是后測(cè)試循環(huán),即退出條件在執(zhí)行循環(huán)內(nèi)部的代碼之后計(jì)算。這意味著在計(jì)算表達(dá)式之前,至少會(huì)執(zhí)行循環(huán)主體一次。

它的語(yǔ)法如下:

do {statement} while (expression);

例子:

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

while 語(yǔ)句

while 語(yǔ)句是前測(cè)試循環(huán)。這意味著退出條件是在執(zhí)行循環(huán)內(nèi)部的代碼之前計(jì)算的。因此,循環(huán)主體可能根本不被執(zhí)行。

它的語(yǔ)法如下:

while (expression) statement

例子:

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

for 語(yǔ)句

for 語(yǔ)句是前測(cè)試循環(huán),而且在進(jìn)入循環(huán)之前,能夠初始化變量,并定義循環(huán)后要執(zhí)行的代碼。

它的語(yǔ)法如下:

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

注意:post-loop-expression 之后不能寫(xiě)分號(hào),否則無(wú)法運(yùn)行。

例子:

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

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

for-in 語(yǔ)句

for-in 語(yǔ)句是嚴(yán)格的迭代語(yǔ)句,用于枚舉對(duì)象的屬性。

它的語(yǔ)法如下:

for (property in expression) statement

例子:

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

這里,for-in 語(yǔ)句用于顯示 window 對(duì)象的所有屬性。

前面討論過(guò)的 PropertyIsEnumerable() 是 ECMAScript 中專(zhuān)門(mén)用于說(shuō)明屬性是否可以用 for-in 語(yǔ)句訪問(wèn)的方法。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)