💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 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 &lt; 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 语句访问的方法。