js循环学习小结

本文详细介绍了JavaScript中的循环结构,包括for循环、while循环和do...while循环,通过实例展示了它们在计数、条件判断和操作执行中的应用。此外,还讲解了continue和break关键字的使用,以及变量命名和格式规范。文章通过多个案例加深了读者对循环控制的理解,并提供了打印星星、九九乘法表等经典示例。
摘要由CSDN通过智能技术生成

循环

1.目的:在实际问题中,有许多具有规律性的重复操作,因此在程序中要完成这样的操作就需要重复执行

2.for循环

在程序中,一组被重复执行的语句被称之为循环体,能否继续重复执行,取决于循环的终止条件。由循环体及循环的终止条件组成的语句,被称之为循环语句

<script>
        //循环的目的(重复执行某些代码)
        for (var i = 1; i <= 100; i++) {
            console.log('我错了');
        }
    </script>
    <script>
        //1.for重复执行某些代码,通常跟计数有关系
        //2.any语法结构
        for(初始化变量;条件表达式;操作表达式){
            //循环体
        }
        //3.初始化变量就是用var声明的普通变量,通常用于作为计数器使用
        //4.条件表达式就是终止的条件
        //5.操作表达式是每次循环最后执行的代码,经常用于作为计数器变量进行更新(递增或者递减)
        (i++)是最后执行的代码
    </script>

断点调试:

打开浏览器按F12.点击source,代码就出出现,并在相应的代码前面打断点,然后要刷新一下。在右侧的单步执行进入for循环中再进行执行

执行不相同的代码:

for循环还可以执行不同的代码,这主要是因为使用的计数器,计数器在每次循环过程中都会有变化:

<script>
        //for 循环可以重复执行不同的代码 因为我们有计数器变量i的存在 i每次循环值都有变化
        //我们想要输出1个人 1~100岁
        // for (var i = 1; i <= 100; i++) {
        //     console.log('这个人今年'+i+'岁了');
        // }
        for (var i = 1; i <= 100; i++) {
            if (i == 1) {
                console.log('这个人今年1岁了,他出生了');
            } else if (i == 100) {
                console.log('这个人今年100岁了,他死了');
            } else {
                console.log('这个人今年' + i + '岁了');
            }
        }
    </script>

for循环重复着某些相同操作

for循环因为有了计数器的存在,我们还可以重复执行某些操作,比如做一些算数运算。

例如1~100的累加和

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

案例:

<script>
        //去1~100所有数的和的平均值
        var sum = 0;
        for (var i = 1; i <= 100; i++) {
            sum += i;
        }
        console.log(sum / 100);
    </script>
    <script>//求1~100所有数的奇数和和偶数和
        var sum1 = 0; //求奇数和
        var sum2 = 0; //求偶数和
        for (var i = 1; i <= 100; i++) {
            if (i % 2 != 0) {
                sum1 += i;
            } else {
                sum2 += 1;
            }
        }
        console.log('奇数和为:' + sum1);
        console.log('偶数和为:' + sum2);
    </script>
    <script>//1~100之间能被3整除的数的和
        var sum3 = 0;
        for (var i = 1; i <= 100; i++) {
            if (i % 3 == 0) {
                sum3 += i;
            }
        }
        console.log('被3整除的数为:' + sum3);
    </script>

求学生成绩:

<script>
        var count = prompt('请输入班级的人数:'); //人数 
        var sum = 0; //求和
        var average = 0; //求平均值
        for (var i = 1; i <= count; i++) {
            //因为从prompt取过来的数据是字符串型的,字符串需要转换为数字型
            var score = prompt('请输入第' + i + '个学生的成绩')
            sum += parseFloat(score); //转换为数字型数据!!!
        }
        average = sum / count;
        alert('班级总成绩为:' + sum)
        alert('平均值为:' + average)
        </script>

案例:

一行打印五颗星星(记住,是一行哦!)

<script>
        //一行打印五个星星
        // for (var i = 1; i <= 5; i++) {
        //     console.log('*');//由于这样输出的星星不是一行的,所以排除这个方法
        // }
        var str = '';//这种方法称为追加字符串的方式
        for (var i = 1; i <= 5; i++) {
            str += '*';//每次就会多加一颗星星;
        }
        console.log(str);
    </script>

外层循环

 <script>
        //双重for循环 语法结构
        /*
        for(外层的初始化变量;外层的条件表达式;外层的操作表达式){
            for(里层的初始化变量;里层的操作表达式;里层的操作表达式){
                //执行语句;
            }
        }
        */
        //2.我们可以把里面的循环看做是外层循环的语句
        //3.外层循环一次里层循环执行全部
        //4.代码验证
        for (var i = 1; i <= 3; i++) {
            console.log('这是外层for循环第' + i + '次');
            for (var j = 1; j <= 3; j++) {
                console.log('这是里层的循环' + j + '次');//当内层循环结束后进入外层循环
            }
        }
    </script>

打印五行五列星星的效果

  <script>
        //打印五行五列的星星
        var str = '';
        for (var i = 1; i <= 5; i++) { //外层for循环负责打印五行
            for (var j = 1; j <= 5; j++) { //内层for循环负责打印五列
                str += '*';
            }
            //如果一行打印完毕,五个星星就要另起一行
            str = str + '\n'; //用于换行
        }
        console.log(str);
    </script>

答应倒叁角型

<script>
        //打印倒星星
        var str = '';
        for (var i = 1; i <= 10; i++) { //打印10行如果变为(var =10;i>=1;i--)那么就会变成正三角形
            for (var j = i; j <= 10; j++) {
                str = str + '*'
            }
            str = str + '\n'
        }
        alert(str);
    </script>

打印九九乘法表

<script>
        //打印九九乘法表
        var str = '';
        for (var i = 1; i <= 9; i++) { //外层循环打印行数
            for (var j = 1; j <= i; j++) { //内层循环打印列数
                str = str + j + 'x' + i + '=' + i * j + ' '; //公式输出
            }
            str = str + '\n' //换行
        }
        alert(str); //用一个弹窗的格式输出
    </script>
for循环小结
  • for循环可以重复执行某些相同的代码
  • for循环可以重复执行些许不同的代码,因为我们有计数器
  • for循环可以重复执行某些操作,比如算数运算符加法操作
  • 随着需求增加,双重for循环可以做更多,更好看的效果
  • 双重for循环,外层循环一次,内层for循环全部执行
  • for循环时循环条件和数字直接相关的循环

3.while循环

<script>
        //1.while循环语法结构  while 当。。。。的时候
        while(条件表达式){
           //循环体
        }
        //2.执行思路 当条件表达式结果为true 则执行循环体 否则退出循环
    </script>
<script>
        var num = 0;
        while (num <= 10) {
            console.log('你好呀');
            num++;//一定要加入这句话,不然就是死循环
        }
    </script>

案例:

 <script>
        //弹出一个提示框,你爱我吗?如果输入我爱你,就提示结束。否则,一直询问
        var message = prompt('你爱我吗?');
        while (message != '我爱你') {
            message = prompt('你爱我吗?');
        }
        alert('好了');
    </script>

4.do …while循环

do…while语句其实是while语句的一个变体。该循环会先执行一次代码块,然后对条件表达式进行判断,如果条件为真。就会重复的执行循环。否则退出退出循环

语法结构:

 //do while 循环 语法结构
        do {
            //循环体
        } while (条件表达式)
 <script>
        //do while 循环 语法结构
        do {
            //循环体
        } while (条件表达式)
        //2.执行思路:跟while不同的地方在于 do while 先执行一次循环体再判断条件,如果条件表达式为真就继续,否则退出;
        //3.代码验证
        var i = 1;
        do {
            console.log('how are you?');
            i++;
        } while (i <= 100)
        //4.我们的循环体最少执行一次
    </script>

与其他循环不同的是:do while至少会执行一次循环

循环小结:

  • JS有三种循环你:for,while,do while
  • 三个循环很多情况下都是可以互相替代的
  • 如果是用来计数,跟数字相关的,三者使用基本相同。但我们更喜欢用for
  • while和do while可以做一些更为复杂的判断,比for循环更为灵活一些
  • while 和do while执行顺序不一样,do…while循环先执行一次再判断执行
continue关键字

continue关键字用于立即跳出本次循环,继续下一次循环(本次循环体中continue之后的代码就会少执行一次)

例如:

吃5个包子,发现第三个有虫子,就扔掉第三个,继续吃第四个第5个包子,代码实现如下:

<script>
        //continue关键字
        for (var i = 1; i <= 5; i++) {
            if (i == 3) {//处理第三个有虫子的包子
                continue;
            }
            console.log('我正在吃第' + i + '个包子');
        }
    </script>
<script>
        //1.求1~100之间,除了能被7整除之外的整数和
        var sum = 0;
        for (var i = 1; i <= 100; i++) {
            if (i % 7 == 0) {
                continue;
            } else {
                sum += i;
            }
        }
        alert(sum)
    </script>
break关键字

break关键字用于立即跳出整个循环(循环结束)

例如:吃5个包子,吃到第三个包子发现里面有半个虫子,其余的就不吃了,其代码实现如下:

 <script>
        for (var i = 1; i <= 5; i++) {
            if (i == 3) {
                break; //跳出循环
            }
            console.log('我正在吃第' + i + '个包子');
        }
    </script>
js的命名规范和格式
  • 变量、函数的命名必须要有意义
  • 变量名称一般用名词
  • 函数的名称一般为动词

操作符规范

<script>
        //操作符的左右两侧各保留一个空格
        for (var i = 1; i <= 5; i++) {
            if (i == 3) {
                break; //跳出循环
            }
            console.log('我正在吃第' + i + '个包子');
        }
    </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值