关于javascript:javascript循环3

js中的循环语句

  • for循环
  • while循环
  • do while循环

何为循环?

在程序中,重复被执行的语句叫做循环体,循环体是否能被反复执行,却决于循环的终止条件。由循环体及循环的终止条件等组成的语句叫做循环语句。

循环的目标

能够反复执行某些代码

for循环

目标:能够反复执行某些代码,通常跟计数无关.

语法

    for(初始化变量;条件表达式;操作表达式) {
        //循环体
    }
  • 初始化变量:通常被用来计数,应用var来申明变量
  • 条件表达式:取决于循环体的终止条件
  • 操作表达式:用来更新初始化变量

for循环的执行过程

    <script>
        for (var i = 1; i <= 100; i++) {
            //在控制台打印100遍的"hello 尧子陌"
            console.log("hello 尧子陌")
        }
    </script>

执行原理

              var i = 1最终能被执行一次,初始化变量执行结束后,执行i<=100,满足则进入循环体执行循环里的语句,不满足则跳出循环体,若满足条件执行循环体的代码之后,再执行操作表达式,满足执行循环体代码,不满足跳出循环。

for循环的非凡用途

断点调试

断点调试:在程序的某一行设置断点,以便于察看程序是怎么的运行过程。

步骤:

  • 按f12键进入sources(本源),在须要设置断点的以后行设置断点操作,刷新浏览器
  • 按F11进行下一步操作

通过watch能够更好的察看变量的值的变动

通过变量来管制循环的次数

在js中,能够通过prompt输出的值保留成变量来管制循环的次数

    <script>
        /* 
                *1.弹出一个输入框,用户输出值,把这个数值保留成变量
                2.通过变量名来管制循环的次数
                
                 */

        var userName = parseInt(prompt("请输出任意正整数"));

        for (var i = 1; i <= userName; i++) {
            console.log('Hello')
        }
    </script>

通过for循环可执行不同的代码

输出一个人的1岁~100岁,并提醒出世及死亡。


    <script>
        for (var i = 1; i <= 100; i++) {
            if (i == 1) {
                console.log('往年一岁了,你出世了')
            } else if (i == 100) {
                console.log('往年100岁了,你曾经死亡了')
            } else {
                console.log('往年' + i + '岁了')
            }
        }
    </script>

for循环能够执行某些雷同的操作

例如:求1~100累加的和


    <script>
        //求1~100之间累加的和

        var sum = 0;
        for (var i = 1; i <= 100; i++) {
            sum += i;
        }
        console.log('sum最终的值', sum); //5050
    </script>

思路如下

  • 要循环100次,须要一个计数器i
  • 须要一个存储后果的值为sum
  • 公式sum= sum+i

案例

求1~100之间的平均数


    <script>
        //须要申明一个求和的变量及求平均数的变量
        var sum = 0,
            average = 0

        for (var i = 0; i <= 100; i++) {
            sum += i;
        }
        // 平均值为
        var average = sum / 100;
        console.log('1~100之间的平均数:' + average) //50.5
    </script>
</head>


求1~100之间所有偶数和奇数的和

思路如下

如何判断一个数为偶数呢?

答案:能被2整除且余数为0,则代表为偶数,反之则为奇数


    <script>
        //须要申明一个偶数及奇数的变量
        var even = 0,
            odd = 0;

        for (var i = 0; i <= 100; i++) {
            if (i % 2 == 0) {
                even += i;
            } else {
                odd += i;
            }
        }
        console.log('1~100之间所有偶数的和:', even)
        console.log('1~100之间所有奇数的和:', odd)
    </script>

求1~100之间能被3整除的和


    <script>
        //须要申明一个变量来保留能被3整出的和的后果
        var result = 0;
        for (var i = 1; i <= 100; i++) {
            if (i % 3 == 0) {
                result += i
            }
        }

        console.log('1~100之间能被3整除的和:', result)
    </script>
</head>

学生案例

弹出输入框,输出班级总人数,求出总成绩及均匀问题sum

剖析

1.弹出输入框,用户输出班级的总人数(userName)

2.顺次输出学生的问题(保存起来为sorce),,须要用到for循环,弹出的输入框的次数跟班级总人数无关.条件表达式i<=userName

3.程序外部解决,计算总成绩(sum),之后再计算平均值(average)


    <script>
        //要求:计算学生的总成绩及平均数
        var userName = Number(prompt("输出班级的总人数"));
        var sum = 0;
        var average = 0;
       、

        for (var i = 1; i <= userName; i++) {
            var sorce = Number(prompt('请输出第' + i + "个学生问题"));

            sum += sorce;
        }

        //学生的总成绩
        console.log("班级的总成绩", sum);
        //学生的均匀问题
        var average = sum / userName;
        console.log('班级的均匀问题:', average)
    </script>

打印N行的星星案例

注意事项

  • 通过prompt输出的值可管制打印星星的个数
  • 采纳字符串追加的形式,在控制台打印星星。

    <script>
        var userName = prompt('请输出星星的个数');

        var str = "" //申明一个变量来存储空字符串
        for (var i = 1; i <= userName; i++) {
            str += "★";
         
        };
        console.log(str)
    </script>

双重for循环

在for循环的根底上嵌套一个for循环,称为双重for循环

语法

for(外循环初始化变量;外循环条件表达式;外循环操作表达式) {
    for(内循环初始化变量;内循环条件表达式,内循环操作表达式) {
           //执行的语句
    }
    
}

注意事项

  • 内循环能够看作外循环执行的语句
  • 外循环执行一次,内循环执行全副

    <script>
        //外层循环
        for (var i = 1; i <= 3; i++) {

            console.log('外层循环执行的:' + i + '次')
            for (var j = 1; j <= 3; j++) {
                console.log('内层循环执行的:' + j + '次')
            }
        }
    </script>

打印5行5列的星星


    <script>
        var str = "";
        for (var i = 1; i <= 5; i++) {
            for (var j = 1; j <= 5; j++) {
                str += "★"
            }
            str += "\n"
        }
        console.log(str)
    </script>

输出N行N列的♥


    <script>
        //用户输出的行数
        var rows = prompt("请输出行数");
        //用户输出的个数
        var cols = prompt('请输出个数');
        //申明一个空字符串
        var str = '';

        //进行for循环
        for (var i = 1; i <= rows; i++) {
            for (var j = 1; j < cols; j++) {
                str = str + "♥"
            }
            str = str + '\n'
        }
        console.log(str)
    </script>

打印倒三角形

外围算法 j = i; j <= 10; j++


    <script>
        var str = ''
        for (var i = 1; i <= 10; i++) {
            for (var j = i; j <= 10; j++) {
                str = str + "★"
            }
            str = str + "\n"
        }
        console.log(str)
    </script>

打印正三角形

外围思路:j = 1; j <= i; j++


    <script>
        var str = ''
        for (var i = 1; i <= 10; i++) {
            for (var j = 1; j <= i; j++) {
                str = str + "★"
            }
            str = str + "\n"
        }
        console.log(str)
    </script>

打印九九乘法表

    <script>
        var str = ""
        for (var i = 1; i <= 9; i++) {
            for (var j = 1; j <= i; j++) {

                str = str + j + "*" + i + "=" + i * j + "\t"
            }
            str = str + "\n"
        }
        console.log(str)
    </script>

for循环总结

  • for循环能够反复某些代码的操作
  • for循环能够反复执行某些不同的代码的操作,因为有计数器
  • for循环能够反复执行某些操作,比方算数运算符加法操作
  • 双重for循环,外循环执行一次,内循环全副执行

while循环

语法

while(条件表达式) {
    //循环体代码
    操作表达式
    
}

留神

- 当while的参数的条件表达式为true的时侯,则执行循环体代码。当条件为false的时候,则退出循环体。
- 当执行完循环体代码之后,操作表达式会自增或自减操作。会持续判断条件表达式是否为虚实,若为真,则继续执行循环体的代码,若为false,则退出循环体,反复执行
- while能够做更简单的条件判断。

案例

控制台打印100遍hello word


    <script>
        var i = 1;
        while (i <= 100) {
            console.log('hello word');
            i++
        }
    </script>

打印人的毕生 从1岁到100岁 并提醒出世 死亡的信息。


    <script>
        var i = 1;
        while (i <= 100) {
            if (i == 1) {
                console.log('祝贺你,你出世了')
            } else if (i == 100) {
                console.log('祝贺你,你死亡了')
            } else {
                console.log('你往年' + i + '岁')

            }
            i++
        }
    </script>

计算1~100之间所有整数的和


    <script>
        //求和的变量
        var sum = 0;
        var i = 1;
        while (i <= 100) {
            sum = sum + i;
            i++
        }
        console.log(sum)
    </script>


‘你爱我吗’之循环案例

要求:弹出输入框,显示'你爱我吗'。用户输出我爱你,则提醒询问,否则会始终询问上来。


    <script>
        var message = prompt('你爱我吗');

        while (message !== '我爱你') {
            message = prompt('你爱我吗')
        };
        alert('我也爱你 小颖')
    </script>

do while循环

- do while循环能够看作while循环的变体,do while循环的代码至多会执行一次,再进行自增或自减操作去判断条件表达式是否为真,若为true,则执行循环体,若为false,则退出循环体
复制代码

语法

var i =1;
do {
    //循环体语句
    操作表达式
}while(条件表达式)
复制代码

do while案例

打印人的一声,从1岁到100岁,并提醒出世 死亡的信息.


    <script>
        var i = 1;
        do {

            if (i == 1) {
                console.log('祝贺你,你出世了')
            } else if (i == 100) {
                console.log('很遗憾,你曾经死亡了')
            } else {
                console.log('你曾经' + i + '岁')
            }
            i++
        } while (i <= 100);
    </script>

打印1~100所有整数的和


    <script>
        //申明一个求和的变量
        var sum = 0,
            i = 1;
        do {
            sum = sum + i;
            i++
        } while (i <= 100);
        console.log(sum)
    </script>

“你爱我吗”之循环案例

要求:弹出输入框,显示’你爱我吗’。用户输出我爱你,则提醒询问,否则会始终询问上来。



    <script>
        do {
            var message = prompt('你爱我吗')
        } while (message !== '我爱你')

        alert("我也爱你")
    </script>

循环的总结

  • JS中的循环:for循环 while循环 di while循环
  • 在非凡状况下,三者能够互相替换
  • do while是while的变体,和while的区别是执行程序不一样,while循环先判断后执行,do while循环至多执行一次
  • 重点放在for循环

continue break的区别

continue

continue:跳出本次循环 继续执行下次循环

求1~100能被7整除的和

如何判断能被7整除,余数等于0即可


    <script>
        var sum = 0;
        for (var i = 0; i <= 100; i++) {
            if (i % 7== 0) {
                continue
            }
            sum = sum + i;
        }
        console.log(sum)
    </script>

break

立即跳出整个循环,不再执行前面的语句

i等于3的时候,跳出整个循环


    <script>
        for (var i = 1; i <= 10; i++) {
            if (i == 3) {
                break
            }
            console.log(i)
        }
    </script>

繁难ATM机

要求

在这个案例中,我应用的是最简略的switch语句


    <script>
        //繁难ATM机
        var corpus = 100; //本金

        var userName = Number(prompt('请输出你要的操作\n1.存钱\n2.取钱\n3.显示余额\n4.退出'))


        switch (userName) {
            case 1:
                var depvar = Number(prompt("请问须要存多少钱?"));
                corpus = corpus + depvar;
                alert('余额为' + corpus)
                break;
            case 2:
                var taken = Number(prompt("请问须要取多少钱?"));
                if (taken > corpus) {
                    alert('余额有余')
                } else if (taken < corpus) {
                    corpus = corpus - taken;
                    alert('余额为' + corpus)
                }
                break;
            case 3:
                alert(corpus);
                break
            case 4:
                if (userName == 4) {
                    alert('退出胜利')
                }
                break
            default:
                alert("输出谬误");
                break;


        }
    </script>


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理