在javascript中,for 语句作为一种测试循环语句,具有在执行循环之前初始化变量和定义循环后要执行的代码能力。
for语句的语法:
for (intialization; expression; post-loop-expression) statement
实例:
以上代码定义了变量i的初始值为0。只有当表达式(i<count)返回true的情况下才会进入for循环,因此也有可能不会执行循环体中的代码。
如果执行了循环体中的代码,则一定会对循环后的表达式(i++)求值,即递增i的值。
这个for 循环语句与下面的while语句的功能相同:
使用while循环做不到的,使用for循环同样也做不到。
for循环只是把与循环有关的代码集中在了一个位置。
注意:
在for循环的变量初始化表达式中,也可以不实用var关键字。
改变量的初始化可以在外部执行,例如:
以上代码与在循环体初始化表达式中声明变量的效果是一样的。
由于ECMAScript中不存在块级作用域,因此在虚幻内部定义的变量也可以在外部访问到。
例如:
以上例子中,会有一个警告框显示循环完成后变量i的值,这个值是10。
这是因为,即使i是在循环内部定义的一个变量,但在循环体外部仍然可以访问到它。
此外,for 语句中初始化表达式、控制表达式和循环后表达式都是可选的。
将这两个表达式全部省略,就会创建一个无限循环,例如:
而只给出控制表达式实际上就是把for循环转换成while循环,例如:
由于for语句存在极大的灵活性,因此它也是ECMAScript中常用的一个语句。