JavaScript中的for循环你用对了吗?

news2025/1/12 1:02:53

​🌈个人主页:前端青山
🔥系列专栏: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

循环结构

循环结构 : 满足一定条件,重复执行一个动作或一段代码。

循环思想(三要素)

  1. 从哪里开始

  2. 到哪里结束

  3. 步长(步进)

实现循环的语句

  1. while

  2. do while

  3. 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>

流程控制关键字

  1. continue : 跳出本次循环,直接进入一下次循环。

  2. 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. 常用于循环次数确定时

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1274766.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ElasticSearch知识体系详解

1.介绍 ElasticSearch是基于Lucene的开源搜索及分析引擎&#xff0c;使用Java语言开发的搜索引擎库类&#xff0c;并作为Apache许可条款下的开放源码发布&#xff0c;是当前流行的企业级搜索引擎。 它可以被下面这样准确的形容&#xff1a; 一个分布式的实时文档存储&#xf…

CSS特效023:文字聚光灯效果

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧&#xff0c;主要包含CSS布局&#xff0c;CSS特效&#xff0c;CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点&#xff0c;CSS特效主要是一些动画示例&#xff0c;CSS花边是描述了一些CSS…

LoadRunner性能测试从零开始

目录 第1章 软件性能测试 1.1 什么是软件的性能 1.1.1 软件 1.1.2 软件性能的产生 1.1.3 功能与性能的关系 1.1.4 用户眼里的软件性能 1.1.5 软件人员眼里的软件性能 1.1.6 以空间换时间 1.1.7&#xff0e;以时间换空间 1.2 软件性能测试 1.2.1 性能测试在软…

EI级 | Matlab实现TCN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测

EI级 | Matlab实现TCN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测 目录 EI级 | Matlab实现TCN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.【EI级】Matlab实现TCN-LSTM-Multihead-Attent…

解决错误代号0x80240438丢失的全面指南,分析0x80240438错误问题

在使用电脑的过程中&#xff0c;我们常常遇到一些复杂的问题&#xff0c;并期待找到最佳解决方案。其中&#xff0c;与“0x80240438”相关的问题是一个值得深入探讨的主题。今天就和大家探讨错误代码0x80240438的问题&#xff0c;都有什么解决办法有效的解决错误代码0x80240438…

Everything结合内网穿透搭建在线资料库并实现随时随地远程访问

Everythingcpolar搭建在线资料库&#xff0c;实现随时随地访问 文章目录 Everythingcpolar搭建在线资料库&#xff0c;实现随时随地访问前言1.软件安装完成后&#xff0c;打开Everything2.登录cpolar官网 设置空白数据隧道3.将空白数据隧道与本地Everything软件结合起来总结 前…

必须收藏!十五个设计灵感网站

设计师必备的灵感网站是每个设计师都应该关注的一部分。它们是设计师在设计过程中获得灵感和创造力的好地方。 在这里&#xff0c;我将介绍一些值得关注的灵感网站&#xff0c;涵盖不同类型的设计&#xff0c;包括UI设计、平面设计、网站设计等。我希望这些网站能给你带来一些…

【Android】使用intent.putExtra()方法在启动Activity时传递数据

食用方法 在Android中&#xff0c;你可以使用Intent对象来在启动Activity时传递数据。以下是一个示例&#xff0c;展示了如何在startActivity时传递数据到被启动的Activity&#xff1a; 在启动Activity的地方&#xff0c;创建一个Intent对象&#xff0c;并使用putExtra()方法…

【HTTP协议】简述HTTP协议的概念和特点

&#x1f38a;专栏【网络编程】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【如愿】 &#x1f970;欢迎并且感谢大家指出小吉的问题 文章目录 &#x1f33a;概念&#x1f33a;特点&#x1f384;请求协议&#x1f384;响应协议…

Spinnaker 基于 jenkins 触发部署

jenkins job 触发部署 将 Jenkins 设置为 Spinnaker 中的持续集成 (CI) 系统可让您使用 Jenkins 触发管道、向管道添加 Jenkins 阶段或向管道添加脚本阶段。 前置要求&#xff1a; 已在kubernetes中部署spinnaker已准备可用的jenkins实例 启用 jenkins触发器 官方文档&…

洛谷 [AGC032B] Balanced Neighbors

分析 首先明确图的定义&#xff0c;图点集边集&#xff0c;其中点必须要有一个&#xff0c;图不可以是空图。&#xff08;虽然和这道题没关系&#xff09; 正着想不明白那就反着来&#xff08;正难则反&#xff09;。 假设目前所有边都是连上的&#xff0c;可以发现每个点的…

【渗透】记录阿里云CentOS被渗透攻击

文章目录 发现排查安装Nethogs查询情况 最终方案 发现 流量异常&#xff0c;出现大流量&#xff0c;网络贷带宽占满情况 排查 安装Nethogs 1.1 Nethogs介绍 NetHogs是一个开源的命令行工具&#xff08;类似于Linux的top命令&#xff09;&#xff0c;用来按进程或程序实时统…

C语言-指针讲解(4)

在上一篇博客中&#xff1a; C语言-指针讲解(3) 我们给大家介绍了指针进阶的用法 让下面我们来回顾一下讲了什么吧&#xff1a; 1.字符指针变量类型以及用法 2.数组指针本质上是一个指针&#xff0c;里面存放数组的地址。而指针数组本质上是个数组&#xff0c;里面存放的是指针…

【带头学C++】----- 九、类和对象 ---- 9.1 类和对象的基本概念----(9.1.1---9.1.3)

目录 9.1 类和对象的基本概念 9.1.1 类的封装性 9.1.2 定义类的步骤和方法 9.1.3 设计一个学生类 Student 9.1 类和对象的基本概念 9.1.1 类的封装性 类是一种用户自定义的数据类型&#xff0c;它定义了一组数据成员和成员函数。类可以看作是一个模板或者蓝图&#xff0c;用…

党建引领·和谐共建——赤岗街首届微型社区养老服务公益博览会开幕

服务咨询平台&#xff0c;让社区长者更便捷地了解到养老相关政策、信息。 本次活动由赤岗街公共卫生委员会、赤岗街道办事处、中国老龄事业发展基金会老年维权基金管理委员会主办&#xff0c;珠影社区居委会、广州市穗星社会工作服务中心、广州市盈泽信息科技有限公司承办&…

生成对抗网络(DCGAN)手写数字生成

文章目录 一、前言二、前期工作1. 设置GPU&#xff08;如果使用的是CPU可以忽略这步&#xff09; 二、什么是生成对抗网络1. 简单介绍2. 应用领域 三、创建模型1. 生成器2. 判别器 四、定义损失函数和优化器1. 判别器损失2. 生成器损失 五、定义训练循环六、训练模型七、创建 G…

Amazon CodeWhisperer 使用体验

文章作者&#xff1a;STRIVE Amazon CodeWhisperer 是最新的代码生成工具&#xff0c;支持多种编程语言&#xff0c;如 java,js,Python 等&#xff0c;能减少开发人员手敲代码时间&#xff0c;提升工作效率。PS:本人是一名 CodeWhisperer 业余爱好者 亚马逊云科技开发者社区为开…

Spring Cloud 配置 Nacos

一&#xff0c;下载Nacos 下载地址&#xff1a;https://github.com/alibaba/nacos/releases 二&#xff0c;启动Nacos 安装Nacos的bin目录下&#xff0c; 执行&#xff1a;startup.cmd -m standalone 然后打开上图红框的地址 三&#xff0c;配置服务 1 配置Nacos 创建命名…

【C++】异常抛出变量的生命周期

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。搜…

[Android] c++ 通过 JNI 调用 JAVA函数

如何使用&#xff1a; Calling Java from C with JNI - CodeProject c里的 JNI 类型 和 JAVA 类型的映射关系&#xff1a; JNI Types and Data Structures Primitive Types and Native Equivalents Java TypeNative TypeDescriptionbooleanjbooleanunsigned 8 bitsbytejbyt…