for 语句

 for 语句和 while 语句相似,但更为复杂。
 语法如下:
for(第一节;第二节;第三节)     语句或语句块
 在这里,第一节为进入循环之前想要执行的语句。在这里可以定义变量,在这里定义的变量仅在循环中有效 ( 循环结束后将被删除 )。也可以省略本节。(译者:一般此处为循环变量的初始化)

 第二节是条件表达式。当此条件表达式的值为 true 时,语句或语句块将被循环(继续)执行。如果省略本节,条件表达式将被认为总是真(死循环)。

 第三节里的语句将在每次循环结束时执行(一般为递增/递减循环变量)。此节可省略,每次循环后将不执行任何语句。

 运行时实际的行为为:
(1) 首先,执行第一节
(2) 判断第二节的条件是否为假,是的话语句或语句块将不予执行,直接结束循环
(3) 执行语句或语句块
(4) 执行第三节
(5) 判断第二节的条件是否为假,是的话跳出循环
(6) 转回到(3)

 在语句块中遇到 break 语句的话,就在 break 语句的位置跳出循环。遇到 continue 语句的话,跳到(4) (直接转入下一次循环)。


例:
    var i,a=1;
    for(i=1;i<5;i++)
    {
        a*=i;
    }

    var i;
    for(i=0;i<10;i++)
    {
        if(obj[i]==0) continue; // 即使 continue, i++ 也会执行
        if(obj[i]==1) break; // 遇到 break 就当场退出循环
        func(obj[i]);
    }