- while
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 {
[循环体]
} 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" );
}
|