while
while循环由两个代码块组成,分别是条件语句和循环体。
while循环类似于if语句,不同的是while循环将不断地执行循环体直到条件值为false为止。
var
i = 0;
while
( i < 100 ) {
//
这里的代码将执行100次
console.log("Currently
at " + i );
i++;//
i自增
}
|
需要注意的是计数器可以在循环体内自增,它同样可以在条件语句中自增。
var
i = -1;
while
( ++i < 100 ) {
//
这里的代码将执行100次
console.log("Currently
at " + i );
}
|
do while
do while循环是与while循环类似的,不同的是do while循环在判断条件之前先执行循环体,也就是说至少会执行一次循环体。
这样至少执行一次的循环是很少见的。
do
{
//
即使条件是false
//
这里的代码都至少会执行一次
alert("Hi
there!" );
}while
( false );
|
for
一个for循环由四个代码块组成,分别是初始化语句、条件语句、迭代语句和循环体。
for
( [初始化]; [条件]; [迭代] ) {
[循环体]
}
|
初始化语句在循环执行前执行并且只执行一次,在这里可以声明一些变量。
每次迭代之前先执行条件语句,其返回值决定了是否继续执行循环,如果条件的返回值为false,那么循环将被终止。
在每次迭代结束之后执行迭代语句,在这里可以改变变量的值,常见的是变更迭代计数器的值。
循环体是每次迭代都要执行的代码块,里面可以包含多行代码和数据,所有的循环体代码需要写在{}中。
for
(var i =
0, limit = 100; i < limit; i++) {
//
这里的代码将被执行100次,i是从0开始到99结束。
console.log("Currently
at " + i );
}
|
for in
for in循环的效果与for循环类似,它可以更方便对数组进行迭代。
var
myArray = [ "hello",
"world", "!" ];
for
( var i
in myArray ) {
console.log(
myArray[ i ] );
}
|
无限循环
循环中条件表达式永远为true时就是无限循环。
break
在循环中可以使用break语句跳出循环。
//
执行break语句循环将被终止
for
( var i =
0; i < 10; i++ ) {
if
( something ) {
break;
}
}
|
continue
在循环中可以使用continue语句结束当前迭代,循环直接进入下一次的迭代。
//
循环中止进入下一个迭代
for
( var i =
0; i < 10; i++ ) {
if
( something ) {
continue;
}
//
当前面if语句的条件为false时才会执行下面的代码。
console.log("I
have been reached" );
}
|