JS笔记(循环)


循环:loop
当需要反复的,重复的执行某些代码的时候,就需要使用循环了。
while、do-while、for

while 循环

语法:
    while(循环条件){ //循环体 }
解释:
    while:关键字
    循环条件:布尔表达式,返回一个布尔值。如果不能返回一个布尔值,
        那么就需要隐式转换。
    大括号中是需要反复执行的代码块。

执行过程:
    1:先判断循环条件,如果是true,那么就执行循环体。然后执行完循环体,再继续判断循环条件
        成立,继续执行循环体,直到循环条件为false,那么立即结束循环。
    2:如果一开始循环条件就是false,那么循环体一次都不执行。

注意:
    1:如果循环体就一句代码,那么可以省略大括号。
    2: 千万不要在循环条件后添加 ; 号。如果加了,循环体就是分号了。

循环结构的构成:
    1:循环控制部分
        a:循环条件初始化
        b:循环条件
        c:迭代(改变循环条件部分)
    2:循环体
<script>
    //打印100个 helloworld。
    /*var counter = 0;
    while(counter < 500){
        console.log ("helloworld!");
        counter ++;
    }

    counter = 0;
    while(counter++ < 500)
        console.log ("helloworld!");*/

    //1-100的累加和
    var sum = 0;//累加和变量
    var num = 0;//自变量 1--100
    while (num < 100) {
        num++;
        sum += num;
    }
    console.log ("sum = " + sum);

    //1--100的奇数的累加和
    sum = 0;
    num = 1;
    while (num < 100) {
        sum += num;
        num += 2;
    }
    console.log ("sum = " + sum);

    sum = 0;
    num = 1;
    while (num < 100) {
        if (num % 2 != 0)
            sum += num;
        num++;
    }
    console.log ("sum = " + sum);
</script>

do-while循环

语法:
    do{
        //循环体
    }while(循环条件);

    while(循环条件){循环体}

 执行过程:
    1:先执行一次循环体。然后再进行条件的判断。
    2:如果条件成立,继续执行循环体,周而复始。
    3:直到循环条件为false,结束整个循环。

 do-while的事情的情形:
    如果循环条件的判断要依赖于一次循环的执行可以使用do-while

 总结:while和do-while的区别
    1:语法不同
    2:while先进行条件的判断,然后在执行循环体。
    3:do-while先执行循环体,然后再进行循环条件的判断。
    4:【while有可能一次循环体都不执行。do-while至少执行一次循环】
<script>
    //1-100的累加和
    var sum = 0;
    var num = 1;
    do{
        sum += num;
        num ++;
    }while(num < 101);
    console.log ("sum = " + sum);

    //1-100的偶数的累加和
    var sum = 0;
    var num = 2;
    do{
        sum += num;
        num +=2;
    }while(num < 101);
    console.log ("sum = " + sum);

    //
    const MIN = 1;
    const MAX = 101;
    //先得到一个随机数
    /*var ran = ~~(Math.random () * (MAX - MIN) + MIN);
    while (!(ran % 5 === 0 && ran % 7 === 0)) {//ran是5和7的公倍数的条件
        ran = ~~(Math.random () * (MAX - MIN) + MIN);
    }
    console.log ("ran = " + ran);*/
    do{
        var ran = ~~(Math.random () * (MAX - MIN) + MIN);
    }while(!(ran % 5 === 0 && ran % 7 === 0));
    console.log ("ran = " + ran);
</script>

for循环

    语法:
    for(循环条件初始化; 循环条件 ; 迭代){ 循环体 }

    执行过程:
        1:循环条件初始化:执行且仅执行一次。最先被执行。
        2:进行循环条件的判断。成立,执行循环体,然后执行 迭代部分。
            然后再进行条件的判断,循环体,迭代,周而复始。直到循环条件为false
            立即结束循环。

    注意:
        1:初始化部分可以同时初始化多个变量,迭代部分,可以同时迭代多个变量。循环条件只要返回一个布尔值即可。
        2:for循环的小括号内使用2个分号分隔成了3部分。这三部分的内容都可以没有,但是2个分号是必不可少的。
        3: 如果循环条件不写,意味着循环条件永远为真。
<script>
    //1--100的累加和
     var sum = 0;
     for (var i = 1; i <= 100; i++) {
         sum += i;
     }
     console.log ("sum = " + sum);
    //1--100偶数累加和
    /* var sum = 0;
     for (var i = 2; i <= 100; i += 2) {
         sum += i;
     }
     console.log ("sum = " + sum);*/

    //三部分比较特殊的情况
    /*for (var i = 0, j = 0, k = 0; i < 100 && j < 100 && k < 100; i++, j += 2, k += 3) {
    }*/

    /*var sum = 0;
    var num = 1;
    for(;num < 100;){
        sum += num;
        num ++;
    }*/

    //男程序员给女程序员的表白
   /* for (var i = 0; i < 10000; i++) {
        console.log ("I Love U");
    }
    for (;;){
        console.log ("I Love U Too");
    }*/
</script>

循环的选择:

1:如果循环的次数是固定的,通常使用for
2:如果循环的次数不固定,通常使用while

break:中断的意思。

语法: break;

1:js 的关键字
2:break 只能在 switch 中 和 循环体中使用。
3:在swtich中,用来结束switch语句的。
4:在循环体中使用,用来结束当前循环的。只能结束一层。
<script>
    //使用while 和 for 实现1--100的累加和使用 break 实现
    /*var sum = 0;
    var num = 1;
    while (true) {
        sum += num;
        //当num为100 就可以结束循环了
        if (num === 100) break;
        num++;
    }
    console.log ("sum = " + sum);*/

    var sum = 0;
    for (var i = 1; ; i++) {
        sum += i;
        if (i === 100) break;
    }
    console.log ("sum = " + sum);
</script>

continue:继续的意思

1: js的一个关键字。
2:只能在循环体中使用。
3:作用:用来跳过本次循环,继续下次循环。
4:while、do-while的循环体中使用continue。continue后续循环体中的代码将被跳过,去到下次循环条件的判断处去执行。
5:for 循环体中使用,会跳过continue 后续的代码,跳到迭代处去执行。
<script>
    //1--100的奇数的累加和
    var sum = 0;
    var num = 0;
    while (num < 100) {
        num++;
        //当num是偶数的时候执行continue。就直接跳转到了循环条件判断处去执行了。
        if (num % 2 === 0)
            continue;
        //偶数的时候,下面的代码被跳过。
        sum += num;
    }
    console.log (sum);
</script>

单分支if
双分支 if-else
多分支 等等
有嵌套的需求:
那么嵌套的深度不要太深,不建议超过3层。

循环的嵌套:循环体中包含了其他的循环。

嵌套循环的特点:
1:外层循环迭代一次,内层循环执行一遍。
2:内层循环体执行的次数 等于 ,每一层循环执行的次数的乘积。

关于使用率:
单层循环使用最多。双层的使用一般般。三层很少使用。

九九乘法表练习

//外层循环控制行数。i还要参与乘法运算。第二个操作数。
for (var i = 1; i <= 9; i++) {
//内层循环控制第i行的n列的打印
for (var j = 1; j <=i ; j++) {
var num = j * i;
document.write(${j}*${i}=${num};&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)
}
document.write("
");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值