
🌈个人主页:前端青山
 🔥系列专栏:JavaScript篇
 🔖人终将被年少不可得之物困其一生
依旧青山,本期给大家带来JavaScript篇专栏内容:JavaScript-for循环
目录
循环结构
循环思想(三要素)
实现循环的语句
当型循环
直到型循环
多功能循环
案例
输出10个HelloWorld
输出1~100的奇数
输出m~n的整数
i. 求5!(阶乘:从1 乘到它本身)
解决猴子吃桃的问题(有一只猴子,还有一堆桃子,第一天的时候,吃了一堆桃子中的一半,没忍住,又多吃了一个;第二天的时候,又吃了剩下桃子中的一半,没忍住,又多吃了一个,以后每天如此,直到第10天的时候,只剩下了一个桃子,问第一天的时候有多少个桃子)
求1+2+3+……+100的和
输出1-100中(7的倍数和带7的数除外)的数。
输出m至n的自然数中的偶数和与奇数和并统计偶数与奇数的个数分别是多少?
入职薪水10K,每年涨幅5%,50年后工资多少?
流程控制关键字
循环的区别
while:
do while:
for
循环结构
循环结构 : 满足一定条件,重复执行一个动作或一段代码。
循环思想(三要素)
-  从哪里开始 
-  到哪里结束 
-  步长(步进) 
实现循环的语句
-  while 
-  do while 
-  for 
当型循环
循环初值;
while(循环条件){
    语句组;
    步长;
}直到型循环
循环初值;
do{
    语句组;
    步长;
}while(循环条件);多功能循环
for(循环初值;循环条件;步长){
    语句组;
}案例
-  输出10个HelloWorld
<script>
        输出10个HelloWorld
        输出:  alert()  document.write()  console.log()
        10个:重复 循环  三要素:i = 1;  i < 11   i ++
        循环语法:
            while
            do while
            for
        //while
        //循环初值
        var i = 1;
        while(i < 11){
            console.log('HelloWorld');
            i ++;
            // i += 2;
        }
        //do while
        var j = 1;
        do{
            console.log('HelloWorld');
            j ++;
        }while(j < 11);
        //for
        for(var k = 1;k < 11;k ++){
            console.log('HelloWorld');
        }
    </script>-  输出1~100的奇数
 <script>
        输出1~100的奇数
        输出: alert() document.write() console.log()
        1~100 : 重复  循环  三要素: i = 1   i < 101   i ++   (i += 2)
        奇数: 不能被2整除  一个条件  一个结果  单分支 if(){}
    
        while
         var i = 1;
         //准备一个变量,存放结果
         var str = '';
         while(i < 101){
             if(i % 2){
                 // document.write(i + ' ');  //满足一次条件,就和页面交互一次
                 //优化后的语句
                 str += i + ' ';  //'' + 1  str = '1' + 3
            }
             i ++;
         }
        将str 一次性添加到页面中
        document.write(str);
         console.log(str);
         alert(str);
         var i = 1,str = '';
         do{
             str += i + ' ';
             i += 2;
         }while(i < 101);
        document.write(str);
        
        var i = 1,str = '';
        do{
            if(i % 2){
                str += i + ' ';
            }
            i ++;
        }while(i < 101);
        document.write(str);
        document.write('<br>');
        for(var i = 1,str = '';i < 101;i += 2){
            str += i + ',';
        }
        document.write(str);
    </script>-  输出m~n的整数
 <script>
        输出m~n的整数
        输出
        m~n  prompt() parseInt()
        if(m < n){
            如果m = 1,n = 5   重复-循环-三要素  i = m; i <= n;i ++
        }else{
            如果m = 5,n = 1   重复-循环-三要素  i = m; i >= n;i --
        }
       //1. 准备两个变量
       var m = parseInt(prompt('请输入一个整数:'));
       var n = parseInt(prompt('请输入一个整数:'));
       //2. 判断谁大谁小
       if(m < n){
            for(var i = m,str = '';i <= n;i ++){
                str += i + ' ';
            }
            //输出结果
            document.write(str);
       }else{
            for(var i = m,str = '';i >= n;i --){
                str += i + ' ';
            }
            //输出结果
            document.write(str);
       }
    </script>-  i. 求5!(阶乘:从1 乘到它本身)
   <script>
求5!(阶乘:从1 乘到它本身)  1 * 2 * 3 * 4 * 5
1. 重复乘法的操作,所以使用循环   三要素 : i = 1   i < 6   i ++
        for(var i = 1,fac = 1;i < 6;i ++){
            fac *= i; //fac = 1 * 1 * 2 * 3 * 4 * 5
        }
        alert(fac);
    </script>-  解决猴子吃桃的问题(有一只猴子,还有一堆桃子,第一天的时候,吃了一堆桃子中的一半,没忍住,又多吃了一个;第二天的时候,又吃了剩下桃子中的一半,没忍住,又多吃了一个,以后每天如此,直到第10天的时候,只剩下了一个桃子,问第一天的时候有多少个桃子)
    <script>
        解决猴子吃桃的问题(有一只猴子,还有一堆桃子,第一天的时候,吃了一堆桃子中的一半,没忍住,又多吃了一个;第二天的时候,又吃了剩下桃子中的一半,没忍住,又多吃了一个,以后每天如此,直到第10天的时候,只剩下了一个桃子,问第一天的时候有多少个桃子)
        1. 第10天: 1     sum = 1
        2. 每天是怎么吃的?  第9天:  (sum + 1) * 2   4
        3.                    8      (4 + 1) * 2   10
                              7  6  5 4 3 2 1 天
        重复天数, 循环   i = 9  i > 0  i --
        for(var day = 9,sum = 1;day > 0;day --){
            sum = (sum + 1) * 2
        }
        alert(sum);
    </script>-  求1+2+3+……+100的和
    <script>
        求1+2+3+……+100的和
        重复 +  循环  三要素  i = 1  i < 101  i ++
        for(var i = 1,sum = 0;i < 5;i ++){
            sum += i;
        }
        alert(sum);
    </script>-  输出1-100中(7的倍数和带7的数除外)的数。
    <script>
        输出1-100中(7的倍数和带7的数除外)的数。
        1-100 : 循环   i = 1; i < 101  i ++
        7的倍数和带7的数除外:
        !(i % 7 === 0 || parseInt(i / 10) === 7 || i % 10 === 7)
        i % 7 && parseInt(i / 10) !== 7 && i % 10 !== 7
       //result : 结果
        for(var i = 1,result = '';i < 101;i ++){
            if(!(i % 7 === 0 || parseInt(i / 10) === 7 || i % 10 === 7)){
                result += i + ' ';
            }
        }
        document.write(result);
    </script>-  输出m至n的自然数中的偶数和与奇数和并统计偶数与奇数的个数分别是多少?
  <script>
        输出m至n的自然数中的偶数和与奇数和并统计偶数与奇数的个数分别是多少?
        1. m 至 n  用户输入两个数
        2. 确保 m < n
        if(m > n){
            交换两个值
        }
        3. 实现循环
        三要素: i = m; i <= n; i ++
        4. 是否能被2整除  奇数   偶数   双分支
        偶数和
        奇数和
        偶数的数量
        奇数的数量
        //1. 准备两个变量
        var m = parseInt(prompt('请输入一个整数:'));
        var n = parseInt(prompt('请输入一个整数:'));
        //1.1 准备放置结果的变量
        // even : 偶数
        // sum : 和
        // odd : 奇数
        //count: 统计
        var even_sum = 0;
        var odd_sum = 0;
        var even_count = 0;
        var odd_count = 0;
        //2. 确保m < n
        if(m > n){
            var t = m;
            m = n;
            n = t;
        }
        //3. 实现循环
        for(var i = m;i <= n;i ++){
            //4. 判断奇偶
            if(i % 2){
                //true : 奇数
                odd_sum += i;
                odd_count ++;
            }else{
                //false : 偶数
                even_sum += i;
                even_count ++;
            }
        }
        //5. 输出结果
        console.log('偶数和:' + even_sum + '\n奇数和:' + odd_sum + '\n偶数数量:' + even_count + '\n奇数数量:' + odd_count);
    </script>-  入职薪水10K,每年涨幅5%,50年后工资多少?
    <script>
        入职薪水10K,每年涨幅5%,50年后工资多少?
        初值: sum = 10
        i = 2     i < 51  i ++
        sum = sum + sum * 0.05   sum += sum * 0.05
        for(var sum = 10,i  = 2;i < 51;i ++){
            sum += sum * 0.05;
        }
        alert(sum);
    </script>流程控制关键字
-  continue : 跳出本次循环,直接进入一下次循环。 
-  break : 跳出循环。 
  <script>
        for(var i = 1;i < 6;i ++){
            // if(i == 2 || i == 4){
            //     continue;  //当i = 2 或 i = 4 的时候,直接跑到下一次循环
            // }
            if(i !== 2 && i !== 4){
                //console.log() : 每输出一次,自动换一行
                console.log(i); //  1  3  5
            }
        }
        //break : 退出循环
        for(var i = 1;i < 6;i ++){
            if(i === 3){
                break;
            } 
        }
        //上面的循环结束后,才能执行到下面的语句,那么 什么时候结束的?3
         console.log(i); //3
    </script>循环的区别
while:
- 1. 当型循环,先判断条件,后执行语句
- 2. 当条件第一次为假时,一次也不执行。
- 3. 常用于循环次数不确定时
do while:
- 1. 直到型循环,先执行语句,后判断条件
- 2. 当 条件第一次为假时,至少执行一次循环
- 3. 常用于循环次数不确定时
for
- 1. 多功能循环(当型循环),先判断条件,后执行语句
- 2. 当条件第一次为假时,一次也不执行
- 3. 常用于循环次数确定时











![洛谷 [AGC032B] Balanced Neighbors](https://img-blog.csdnimg.cn/direct/08fbeb61c68a4662ad4c0915313f2716.png)








![[Android] c++ 通过 JNI 调用 JAVA函数](https://csdnimg.cn/release/blog_editor_html/release2.3.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=N7T8)