JavaScript循环结构学习(学习日记六)

循环语句用于重复执行某个操作,它有多种形式。

一、while循环

        - 要有个结束条件,有一个计数器,迭代条件(怎么计数的)

        - while语法:

                var 计数器的名字 = 0;

                当循环条件为true时,执行循环体;

                当循环条件为false时,结束循环。

                while(循环条件) {

                    执行循环体;

                    计数器++;

                }
     

        var i = 0;
        while(i <= 20) {
            console.log("跑了" + i + "圈");
            i++;
        } 

        // 计算1-100之间所有整数的和
        var i = 1;
        var sum = 0;
        while(i <= 100) {
            sum += i; // sum = i + sum;
            i++;
        }
        console.log(sum);

        // 分别计算1-100之间奇数和偶数的和
        var even = 2;
        var odd = 1;
        var sum_even = 0;
        var sum_odd = 0;
        while(even <= 100) {
            sum_even += even;
            even += 2;
        }

        while(odd <= 100) {
            sum_odd += odd;
            odd += 2;
        }

        console.log('1-100之间奇数和是:' + sum_odd);
        console.log('1-100之间偶数和是:' + sum_even); 



        // 计算6的阶乘
        var mul = 1;
        var pro = 1;
        while(mul <= 6) {
            pro = pro * mul;
            mul++;
        }
        console.log(pro); 


        // 求100以内7的倍数
        var i = 1;
        while(i <= 100) {
            // 判断该数字能否被7整除
            if(i % 7 == 0) {
                console.log(i);
            }
            i++;
        }

二、do...while循环

do...while循环换和while循环非常像,二者经常可以互相替代,但是do...while的特点是不管条件成不成立,都会先执行一次

            do...while语法:

                var i = 0;// 计数器

                do {

                    循环体;

                    迭代条件;

                }while(循环条件);

        var i = 100;
        var sum = 0;
        do {
            sum += i;// 循环体
            i++;
        }while(i <= 50);
        console.log(sum);//100



        var x = 3;
        var i = 0;
        do {
          console.log(i);
          i++;
        } while(i < x);

三、for循环

while和do...while一般用来解决无法确认次数的循环,for循环一般在循环次数确定的时候比较方便,for语句是循环命令的另一种形式,可以指定循环的起点、终点和终止条件。

            for循环语法:

                for(计数器; 循环条件; 迭代条件) {

                    循环体;

                }

                或

                for(初始化表达式1; 判断表达式2; 自增表达式3) {

                    循环体4;

                }

                1-初始化表达式(initialize):确定循环变量的初始值,只在循环开始的时候执行一次。

                2-判断(条件)表达式(test):每轮循环开始时,都要执行这个条件表达式,只有值为true,才继续进行循环。

                3-自增表达式(increment):每轮循环的最后一个操作,通常用来递增循环变量。

                执行顺序:1243 --- 243 --- 243... ...(直到循环条件变为false)

        for(var i = 0; i <= 100; i++) {
            console.log("跑了" + i + "圈");
        } 

        // 1-100整数和
        var sum = 0
        for(var i = 1; i <= 100; i++) {
            sum += i;
        }
        console.log(sum);

        // 1-100奇数和偶数和
        var sum1 = 0, sum2 = 0;
        for(var i = 1; i <= 100; i++) {
            if(i % 2 == 0) {
                sum1 += i;
            }else {
                sum2 += i;
            }
        }
        console.log('1-100之间奇数和是:' + sum2, '1-100之间偶数和是:' + sum1);

        // 1-100能被3整除的数的和
        var sum = 0;
        for(var i = 0; i <= 100; i++) {
            if(i % 3 == 0) {
                sum += i;
            }
        }
        console.log(sum);

四、for循环案例

 // 1.7×5的星星矩阵
        for (j = 1; j <= 5; j++) {
            for (var i = 1; i <= 7; i++) {
                // document.write()页面重构
                document.write('☆');
            }
            document.write("<br/>");
        } 

 // 2.等腰直角三角形星星阵
        for (j = 1; j <= 9; j++) {
            for (var i = 1; i <= j; i++) {
                document.write('☆');
            }
            document.write("<br/>");
        } 

 // 3.打印九九乘法表
        document.write("<table cellspacing='9'>");
        for (j = 1; j <= 9; j++) {
            document.write("<tr>");
            for (var i = 1; i <= j; i++) {
                document.write("<td>" + i + '×' + j + "=" + i*j + "</td>");
            }
            document.write("</tr>");
        }
        document.write("</table>"); 

//斐波那契数列(若1,1,2,3,5,8,13,21...求第12个有多少)
        var num1,num2,sum,i;
        for(i = 3,num1 = 1,num2 = 1; i<= 12; i++){
            sum = num1 + num2;
            num1 = num2;
            num2 = sum;
            document.write(sum + '</br>');
        }

补充:- document.write()用来在页面中打印,一般不建议使用,因为会清空页面结构

           - 可以在打印中使用标签,能直接在网页中显现

           - 所有for循环,都可以改写成while循环

           - for语句的三个部分(initialize、test、increment),可以省略任何一个,也可以全部省略

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.MUXIAO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值