JS学习归纳3

        上篇文章我们总结了有关运算符、逻辑符号、for 、switch的学习。本篇文章主要是对编程中另一常见的结构---循环加以学习。

        这里的学习和其他的编程语言一样,主要是分为for 循环和while循环,同时学会使用continue和break。如果有其他代码学习经验,这里的内容可以快速浏览。

一、For 循环

1.1 for循环的结构

        基本的使用方法和结构写在了下方:

for (初始化变量; 条件表达式; 操作表达式) {
              循环体;
         }

// 举例

for (var i = 1; i <= 100; i++) {
            console.log('你好JS');
        }

        对上面的例子加以解释:

        1. 首先定义计数器变量  var i = 1 .只执行一次

        2.  i <= 100 来是判断结束的条件, 如果满足条件就执行循环体 ,否则退出循环

        3. 最后去执行 i++   一轮循环结束

        4. 接着去执行 i <= 100 如此循环。

        针对上面的例子,我们可以增加一些与用户的互动:

    <script>

        //可以让用户控制输出的次数
        var num = prompt('请您输入次数');
        for (var i = 1; i <= num; i++) {
            console.log('你好JS');

        }
    </script>

   

1.2 for循环可以和分支结构嵌套使用

        比如,如下代码:

    <script>
        for (var i = 1; i <= 99; i++) {
            if (i == 1) {
                console.log('他出生了');
            } else if (i == 99) {
                console.log('他死了');
            } else {
                console.log('这个人今年' + i + '岁了');

            }
        }
    </script>

        在循环时,当i == 1 显示出生了,i == 99 显示死了,其余循环阶段显示每一年的岁数。这就是for循环和分支结构的嵌套。

1.3 for循环进行数据处理

        for循环也同样可以辅助我们解决有一定规律的数学问题。

        1.3.1 求1-100之间所有数的平均值

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script>
        //1 求1-100的和的平均数
        var sum1 = 0;
        for (var i = 1; i <= 100; i++) {
            sum1 += i;
        }
        alert('1-100的和的平均数为:' + (sum1 / 100))
    </script>
</head>

<body>

</body>

</html>

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

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script>

        //2  求1-100所有奇数偶数的和
        var odd_sum = 0;
        var even_sum = 0;
        for (var i = 1; i <= 100; i++) {
            if (i % 2 == 0) {
                odd_sum += i;
            }
            else {
                even_sum += i;
            }
        }
        alert('1-100的奇数和为:' + even_sum)
        alert('1-100的偶数和为:' + odd_sum)
    </script>
</head>

<body>

</body>

</html>

        1.3.3 求1-100之间所有能被3整除的数字的和

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script>

        //3 1-100 被3 整除的数字的和
        var sum2 = 0;
        for (var index = 0; index <= 100; index++) {
            if (index % 3 == 0) {
                sum2 += index;

            }
        }
        alert('1-100 被3 整除的数字的和为:' + sum2)
    </script>
</head>

<body>

</body>

</html>

1.4 使用for循环计算班级所有人的成绩案例

        人数自定义,成绩自定义,并计算总成绩和平均分。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script>
        var num = prompt("班级中一共多少人?");
        var sum = 0;
        var average = 0;
        var score;
        for (var i = 1; i <= num; i++) {
            score = prompt('第' + i + '个人的成绩是:');

            sum += parseFloat(score);
        }
        average = sum / num;

        alert('班级总的成绩是' + sum);
        alert('班级平均分是:' + average);
    </script>
</head>

<body>

</body>

</html>

 1.5 双重for循环

        双重for循环的结构如下:外层循环循环一次, 里面的循环执行全部 。


    <script>
        // 双重for循环 语法结构
         for (外层的初始化变量; 外层的条件表达式; 外层的操作表达式) {
             for (里层的初始化变量; 里层的条件表达式; 里层的操作表达式) {
                 // 执行语句;
             }
         }

        // 外层循环循环一次, 里面的循环执行全部
    </script>

         做一个可以打印任意行,任意列的五角星矩阵的例子;

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script>
        var col = prompt("想要多少列");
        var row = prompt("想要多少行");
        var str = '';
        for (let i = 1; i <= row; i++) {

            for (let j = 1; j <= col; j++) {
                str = str + '★';
            }
            str = str + '\n';
        }
        console.log(str);
    </script>
</head>

<body>

</body>

</html>

  1.5 经典案例--9*9乘法表

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script>
        var str = '';
        for (let i = 1; i <= 9; i++) {
            for (let j = 1; j <= i; j++) {
                str += j + '×' + i + '=' + i * j + ' ';
            }
            str = str + '\n';
        }
        console.log(str);
    </script>
</head>

<body>

</body>

</html>

二、While 循环

2.1 while 的基本结构

    <script>
        // while 循环语法结构  
         while (条件表达式) {
              循环体
              叠加器的变化
         }
        // 执行思路  当条件表达式结果为true 则执行循环体 否则 退出循环

    </script>

         直接对条件进行判断,如果条件成立进行,则进入循环体执行内部代码。

2.2 while 的使用例子

        求1-100所有偶数的和:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script>
    var sum = 0;
    var i = 1;
    while (i <= 100) {
      if (i % 2 == 0) {
        sum += i
      }
      i++;
    }
    alert('偶数的和为:' + sum);
  </script>
</head>

<body>

</body>

</html>

2.3 do while循环结构

        do while的使用结构如下:

    <script>
        // do while 循环结构
        do {
             循环体
             迭代器变化
        } while (条件表达式)
        
        // do while 循环体至少执行一次!!!
    </script>

        do while循环 和 while循环的区别:do while先执行一次以后再判断,所以至少会执行一次。而while先判断再执行。

2.4 do while循环案例

        用do while 改写1-100的偶数的和的案例:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script>
    var sum = 0;
    var i = 1;
    do {
      if (i % 2 == 0) {
        sum += i;
      }
      i++;
    } while (i <= 100);
    alert('偶数的和为:' + sum);
  </script>
</head>

<body>

</body>

</html>

三、continue 和 break

3.1 continue 关键字

        continue :退出本次(当前次的循环) ,继续执行剩余次数循环。

        可以使用continue改写1-100的偶数的和的案例:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script>
    var sum = 0;

    for (var i = 1; i <= 100; i++) {
      if (i % 2 != 0) {
        continue;
      }
      sum += i;
    }
    alert('偶数的和为:' + sum);
  </script>
</head>

<body>

</body>

</html>

3.2 break 关键字

        break :退出整个循环,不再执行。

        这个案例:设计者只允许输出3遍,请求多余3次就不执行。

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script>
    var num = prompt('你想要输出多少遍内容?');

    for (var i = 1; i <= num; i++) {
      if (i == 4) {
        console.log('不好意思,设计者只让输出3次~');
        break;
      }
      console.log('这是第' + i + '次输出');
    }

  </script>
</head>

<body>

</body>

</html>

  • 24
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值