javascript中的for语句

发布时间:2020-12-20编辑:脚本学堂
本文学习下javacript中for循环语句的用法,通过实例帮助大家的理解,希望对大家有所帮助。

javascript中,for 语句作为一种测试循环语句,具有在执行循环之前初始化变量和定义循环后要执行的代码能力。

for语句的语法:
for (intialization; expression; post-loop-expression) statement

实例:
 

复制代码 代码示例:
var count = 10;
for (var i = 0; i < count; i++) {
    alert(i);
}

以上代码定义了变量i的初始值为0。只有当表达式(i<count)返回true的情况下才会进入for循环,因此也有可能不会执行循环体中的代码。
如果执行了循环体中的代码,则一定会对循环后的表达式(i++)求值,即递增i的值。

这个for 循环语句与下面的while语句的功能相同:
 

复制代码 代码示例:
var count = 10;
var i = 0;
while (i < count) {
    alert(i);
    i++;
}

使用while循环做不到的,使用for循环同样也做不到。
for循环只是把与循环有关的代码集中在了一个位置。

注意:
在for循环的变量初始化表达式中,也可以不实用var关键字。
改变量的初始化可以在外部执行,例如:
 

复制代码 代码示例:
var count = 10;
var i;
var (i = 0; i < count; i++) {
    alert(i);
}

以上代码与在循环体初始化表达式中声明变量的效果是一样的。
由于ECMAScript中不存在块级作用域,因此在虚幻内部定义的变量也可以在外部访问到。

例如:
 

复制代码 代码示例:
var count = 10;
var i;
for (i = 0; i < count; i++) {
    alert(i);
}
alert(i); //10

以上例子中,会有一个警告框显示循环完成后变量i的值,这个值是10。
这是因为,即使i是在循环内部定义的一个变量,但在循环体外部仍然可以访问到它。
此外,for 语句中初始化表达式、控制表达式和循环后表达式都是可选的。
将这两个表达式全部省略,就会创建一个无限循环,例如:
 

for (;;) {    //无限循环
    doSomething();
}

而只给出控制表达式实际上就是把for循环转换成while循环,例如:
 

复制代码 代码示例:
var count = 10;
var i = 0;
for (; i < count;) {
    alert(i);
    i++;
}

由于for语句存在极大的灵活性,因此它也是ECMAScript中常用的一个语句。