javascript101之循环

循环让一块代码运行多次。

// A for loop
// logs "try 0", "try 1", ..., "try 4"
for ( var i = 0; i < 5; i++ ) {
 
    console.log( "try " + i );
 
}

注意在循环里,变量的范围不局限在循环块内,尽管在变量名前有关键字var。变量范围在 范围部分更深入讨论。

for 循环

for循环由四部分如下结构的语句组成:
for ( [initialisation]; [conditional]; [iteration] ) {
 
    [ loopBody ]
 
}

在循环开始之前,初始化语句只运行一次。这给了你机会准备和声明变量。
条件语句在每次迭代的时候都执行,根据其返回值决定循环是否继续。如果条件语句估算出假值,则循环终止。
迭代语句在每次迭代的最后执行,并给你一个机会改变重要变量的状态。典型的,这包含减少或增加一个计数器,使循坏接近结束。
循环体语句是每次迭代执行的语句。可包含任何语句。通常情况下,将有多条语句要执行,应将这些语句用{...}包含在一个块内。
这里有一个典型的for语句:
// A typical for loop
for (var i = 0, limit = 100; i < limit; i++) {
    // This block will be executed 100 times
    console.log( 'Currently at ' + i );
    // Note: the last log will be "Currently at 99"
}

while循环

while循环类似于if语句,除了其语句块持续执行直到条件为假。
while ( [conditional] ) {
 
    [loopBody]
 
}
这里是一个典型的while循环:
// A typical while loop
var i = 0;
while ( i < 100 ) {
    // This block will be executed 100 times
    console.log( "Currently at " + i );
 
    // increment i
    i++;
}
注意到计数器在循环体内增加。把条件和增量组合在一起是可能的,像这样:
// A while loop with a combined conditional and incrementer
var i = -1;
while ( ++i < 100 ) {
    // This block will be executed 100 times
    console.log( "Currently at " + i );
}

注意到计数器从 -1 开始并且使用的是前置增量器。

do-while循环

除了循环体在测试条件前至少执行一次的情况,它就和while循环没什么区别。
do {
 
    [ loopBody ]
 
} while ( [conditional] )

这里是一个do-while循环:
// A do-while loop
do {
    // Even though the condition evaluates to false
    // this loop's body will still execute once.
    alert( "Hi there!" );
 
} while ( false );

这类循环很少见,因为只有很少的情况下,需要一个循环,盲目的执行至少一次。无论如何,意识到这点就好。

break 和 continue

通常情况下,循环终止意味着条件语句的计算为假,但有可能通过其循环体内的break语句终止。
// Stopping a loop
for ( var i = 0; i < 10; i++ ) {
    if ( something ) {
        break;
    }
}

你可能想继续循环而不再运行循环体内的其他剩下的语句。这通过continue语句可以做到。
// Skipping to the next iteration of a loop
for ( var i = 0; i < 10; i++ ) {
    if ( something ) {
        continue;
    }
 
    // The following statement will only be executed
    // if the conditional 'something' has not been met
    console.log( "I have been reached" );
 
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值