for 循环
定义
for(初始化表达式;控制表达式;循环后表达式){
statement;
}
示例:
var count = 5;
for (var i = 0; i < count; i++) {
console.log(i);
}
在上面代码中定义了变量i的初始值为0。只有当条件表达式 i < count返回true的时候 才会进入for循环,因此也有可能不会执行循环体中的代码。如果执行了循环体中的代码,则一定会对循环后表达式i++求值,即递增i的值。这个for循环语句与下面的while语句的功能相同:
var count = 5,
i = 0;
while(i < count){
console.log(i);
i++;
}
使用while循环做不到的,使用for循环同样也做不到,也就是说,for循环语句只是把循环有关的代码集中在一起。在for循环语句中,变量初始化表达式中也可以不是用var关键字,该变量的初始化可以在外部进行。例如:
var count = 5,
i;
for (var i = 0; i < count; i++) {
console.log(i);
}
上面代码与在循环初始化表达式中声明变量的效果是一样的。由于JavaScript中不存在块级作用域,因此在循环内部定义的变量也可以在外部访问到。例如:
var count = 5;
for(var i = 0; i < count; i++){
console.log(i);
}
console.log(i); //5
此外,在for语句中的初始化表达式、控制表达式和循环后表达式都是可选的。将这3个表达式全部省略,就会创建一个无限循环,英文状态下的;是必须的,不能省略。例如:
var count = 2;
var i = 1;
for(;;){
console.log("诺男很美!");
}
而只给出控制表达式实际上就是把for循环转换成了while循环,这就体现了for循环的灵活性。例如:
var count = 5,
i = 0;
for(;i < count;){
console.log(i);
i++;
}