JS基础(三)循环语句

201 阅读4分钟

for循环

for 循环是在创建循环时经常使用的工具。

for 循环的语法如下:

for (语句1;语句2;语句3) {
    要执行的代码块
}

语句 1 在循环(代码块)开始之前执行。

语句 2 定义运行循环(代码块)的条件。

语句 3 会在循环(代码块)每次被执行后执行。

实例:
for ( var i = 1 ; i < 5 ; i++ ) {
    console.log( i )
}

语句 1 在循环开始之前设置了一个变量(var i = 1)。

语句 2 定义运行循环的条件(i 必须小于 5).

语句 3 会在代码块每次执行之后对值进行递增(i++)。

要执行的代码块为console.log( i ),及在控制台上打印出i的值。

当要执行的代码块只有一句代码时可以简化成:

for ( var i = 1 ; i < 5 ; i++ ) console.log( i )

for循环案例:水仙花数

水仙花数定义:一个三位数等于这三位数各个位置上三次幂的和

 //一个三位数(范围100 ~ 999)    这个三位数 == 百位数的三次幂 + 十位数的三次幂 + 个位数的三次幂
    for (var n = 100 ; n < 1000 ; n++ ) {  //得到100-1000以内所有的3位数
        var baiW = parseInt(n / 100)          //利用parseInt函数得到这三位数的百位
        var shiW = parseInt(n % 100 / 10)
        var geW = parseInt(n % 10)
        if (baiW ** 3 + shiW ** 3 + geW ** 3 == n) {     
            console.log(n)    //判断这个数是否等于各个位置上三次幂的和   等于打印出这个数;不等于则继续循环
        }
    }
    

while循环

while 循环会一直循环代码块,只要指定的条件为 true。

while的语法如下:

while(条件){
    要执行的语句
}

实例:在下面的例子中,循环中的代码将运行,一遍又一遍,只要变量(i)小于5:

while( i < 5 ) {
    console.log( 'i的值为' + i )
    i++         //必须对i进行递增。如果您忘了对条件中使用的变量进行递增,那么循环永不会结束(进入死循环),这会导致浏览器崩溃。
}

do ... while循环

do ... while 循环是 while 循环的变体。

do ... while的语法如下:

do {
    要执行的代码块
} while (条件)

实例:在下面的例子中,循环中的代码将运行,一遍又一遍,只要变量(i)小于5:

do {
    console.log( 'i的值为' + i )
    i++
} while ( i < 5 )

while循环与do ... while循环的区别

while语句在执行时,先对条件表达式进行求值判断:如果值为true,则执行循环体,循环体执行完毕以后,继续对表达式进行判断是否满足条件;如果值为false,则终止循环。

do ... while语句在执行时,会先执行循环体; 循环体执行完毕以后,再对while后的条件表达式进行判断:如果结果为true,则继续执行循环体,执行完毕继续判断是否满足条件;如果结果为false,则终止循环。

do ... while和while功能类似,不同的是while是先判断后执行,而do...while是先执行,后判断。

do ... while可以保证循环体至少执行一次,而while不能。

案例:使用三种循环求1-100所有数的和,并打印出和的值

var sum = 0
//for 循环
for ( var i = 1 ; i <= 100 ; i++ ) {
    sum += i
}
//while循环
/*
var i = 1
while ( i <= 100 ) {
    sum += i
    i++
}
*/
//do ... while 循环
/*
var i = 1
do {
    sum += i
    i++
} while ( i <= 100 )
*/
console.log( '1-100内所有值的和为' + sum )

流程控制语句

流程控制语句: break 、 continue 、 return

return :直接跳出当前的方法,返回到该调用的方法的语句处,继续执行

break:在循环体内结束整个循环过程

continue :结束本次的循环,直接进行下一次的循环

break、return和continue的区别

相同点:三者都可以改变程序的执行流程

不同点:
1.break 用于循环语句和switch语句
break用于跳出循环语句(即终止循环语句)或跳出switch语句
break语句之后没有使用任何标签时用于跳出循环或switch语句
break语句之后有标签时用于跳出标签所标记的循环语句

2continue用于循环语句
continue用于略过本次循环中的后续语句进行下次循环
continue语句之后没有使用任何标签时用于略过本次循环后续语句进入下次循环
continue语句之有标签时用于略过后续语句进入标签所标记循环的下次循环

3return用于方法体中
return可用于返回数据
return可将当前正在执行的方法终结