【学习笔记14】JavaScript的循坏语句

news2025/8/12 7:46:28

一、while循坏

1、解释说明

    while (循环结束条件) {  
        循环体
    }
        // 1. 初始化
        var num = 1;    

        // 2. 循环结束条件  num < 5
        while (num < 5) {  
            // 3. 循环体
            console.log(1);
            
            // 4. 改变自身, 不写还能执行, 但是是死循环, 电脑死机速度
            num++   
        }

2、课堂案例

2.1 计算1到100的累加和

案例分析

        /**
         *  第一次循环
         *      num == 1    sum == 0
         *          符合 num < 101
         *          执行循环体  sum = sum + num     sum = 0 + 1     ===> sum == 1
         *          num++
         * 
         *  第二次循环
         *      num == 2    sum == 1
         *          符合 num < 101
         *          执行循环体  sum = sum + num     sum = 1 + 2     ===> sum == 3
         *          num++
         * 
         *  第三次循环
         *      num == 3    sum == 3
         *          符合 num < 101
         *          执行循环体  sum = sum + num     sum = 3 + 3     ===> sum == 6
         *          num++
        */
        //  1 + 2 + 3 + 4 + 5 +.... + 99 + 100  ==> 5050

        var num = 1;   //定义开始变量
        var sum = 0;   //定义累加和的变量
        while (num < 101) {
            // 累加求和
            sum += num;
            num++;
        }
        console.log(sum);   // 5050

2.2 求 1~100 之间所有3的倍数的和

        var num = 1;   //定义开始变量
        var sum = 0;   //定义累加和的变量

        // 循坏遍历 求值
        while (num < 101) {

            // 判断三的倍数
            if (num % 3 == 0) {
                //累加求值
                sum += num;
            }
            num++;
        }
        console.log(sum);

二、do…while循坏

1、解释说明

      1. 初始化
        do {
             2. 循环体
             3. 改变自身
        } while (4. 结束条件)
        var num = 1;
        do {
            console.log(1);
            num++
        } while (num < 5);

2、do…while 和 while 的差异

  1. do...while在首次执行的时候, 会先执行循环体, 然后判断
  2. while在首次执行的时候, 会判断, 然后符合条件了在执行
        // do...while循环
        var num = 10;
        do {
            console.log('do...while循环执行')
            num++;

        } while (num < 5);

        // while循环
        var num1 = 10;
        while (num1 < 5) {

            console.log('while循环执行');
            num1++;
        }

3、do…while循环案例

案例要求

  1. 首次加载页面的时候, 让用户输入密码
  2. 如果密码正确, 在浏览器控制台打印 密码正确
  3. 如果错误, 让用户重新输入密码

案例分析

  1. prompt()浏览器提供的, 会在浏览器打开一个弹窗, 让用户输入内容
    • 点击确定, 返回用户输入的内容(字符串格式的)
    • 点击取消, 返回一个null
  2. 第一个参数: 用户的提示信息
  3. 第二个参数: 输入框默认文本
        var password;
        do {
            password = prompt('请输入密码') - 0;

        } while (password != 12345)
        
        console.log('密码正确')

三、for循坏

1、解释说明

语法:
    for (1. 初始化; 2. 结束条件; 3. 改变自身) {
         // 循环体
    }
        for (var i = 0; i < 3; i++) {
            console.log(1)
        }

2、求1到100的累加

        var sum = 0
        for (var i = 1, sum = 0; i < 101; i++) {
            sum += i
            // console.log(i)
        }
        console.log(sum)

四、for循环嵌套

1、解释说明

        // 外层 for 循环
        for (var i = 0; i < 3; i++) {   
            // 内层 for 循环
            console.log(i);
            for (var k = 0; k < 3; k++) {   
                console.log(k);
            }
        }

在这里插入图片描述

2、for循环嵌套案例

        // 外层循环, 控制有多少行
        for (var k = 0; k < 9; k++) {   

            // 内层循环, 控制一行有多少个(控制有多少列)
            for (var i = 0; i < 9; i++) { 

                document.write('*');
            }
            document.write('<br>');
        }

在这里插入图片描述

3、九九乘法表

        for (var j = 1; j <= 9; j++) {

            for (var i = 1; i <= j; i++) {

                document.write(`${i} * ${j} = ${i * j} `);
            }

            document.write('<br>');
        }

在这里插入图片描述

🤩 美化

    <style>
        span {
            display: inline-block;
            width: 100px;
            height: 30px;
            text-align: center;
            line-height: 30px;
            border: 1px solid #000;
            margin: 10px;
        }

        div>span:nth-child(odd) {
            background: skyblue;
        }

        div>span:nth-child(even) {
            background: pink;
        }
    </style>

代码优化

        for (var j = 1; j <= 9; j++) {

            document.write('<div>');

            for (var i = 1; i <= j; i++) {
                document.write('<span>');
                document.write(`${i} * ${j} = ${i * j} `);
                document.write('</span>');
            }

            document.write('</div>');
        }

在这里插入图片描述

五、 break 和 continue 关键词

1、break 和 continue的区别

  1. JavaScript中的while循环,不支持continue关键词
  2. break 终止一切,即终止关键词
    • 😥 作用1:终止本次循环break关键词之后程序的执行
    • 😥 作用2:终止本次循环之后循环的执行
  3. continue 跳出一次循环,即跳出关键词
    • 😥 作用1:终止本次循环continue关键词之后程序的执行
    • 😥 作用2:继续本次循环之后循环的执行
  4. break关键词一般用于死循环程序的执行

2、求水仙花数三次自幂数

        // 将判断一个数值是不是水仙花数的程序 定义在循环中
        for( var i = 100 ; i <= 999 ; i++ ){

            // 获取每一位上的数值
            var a = parseInt(i / 100);
            var b = parseInt(i % 100 / 10);
            var c = i % 10;

            // 判断立方和是不是数值本身
            if (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) === i) {
                // 如果 每位上的数值立方和 是 这个数值本身 判断 是 水仙花数
                console.log(`数值${i}是水仙花数`);
            }
        }

在这里插入图片描述

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

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

相关文章

【学习笔记15】JavaScript的函数

一、函数 笔记首发 &#xff08;一&#xff09;什么是函数 &#x1f644; 前端的函数, 与数学的函数, 完全是两个概念&#x1f644; 可以粗暴的理解为 一个盒子&#x1f644; 当一段需要多次使用的复杂代码段, 我们可以把它放在(抽离)一个盒子中(就是函数)&#x1f644;在需要…

【math】利用Cardano方法对一元三次方程求解及python实现

文章目录【参考】【问题描述】求解一元三次方程【代码实现】现成的包 cardano_method根据公式编写求解代码【总结】【参考】 用Cardano方法求解三次方程介绍cardano方法求解下载cardano方法包x^310求解问题、三次方程反函数问题Micorsoft-Math-solver 微软数学工具WolframAlph…

《Transformers自然语言处理系列教程》第1章:Transformers 介绍

2017年,谷歌的研究人员发表了一篇论文,提出了一种用于序列建模的新型神经网络架构。这种架构被称为Transformer,在机器翻译质量和训练成本方面都优于递归神经网络(RNNs)。 与此同时,一种名为ULMFiT的有效迁移学习方法表明,在一个非常大和多样化的语料库上,训练长短期记…

Kotlin拿Android本地视频缩略图

本文主要讨论如下三个问题&#xff1a; 如何拿到本地视频&#xff1f;怎么拿视频缩略图&#xff1f;缩略图如何压缩&#xff1f; 1 如何拿到本地视频&#xff1f; 1.1 定义数据结构 先定义媒体信息数据结构MediaInfo&#xff0c;以及视频信息数据结构VideoInfo。 open class…

我参加NVIDIA Sky Hackathon 训练文件的路径设置

各变量的作用 KEY 对应的是 NVIDIA ngc 的那个网站上面生成的那个 keyGPU 的索引&#xff0c; 这个一般不需要修改&#xff0c; 因为大家只有一块 GPU用户实验目录&#xff0c; 这个文件夹用于存放后续过程产生的一系列的文件数据下载目录&#xff0c; 存放数据 本地工程目录&a…

Java并发编程实战读书笔记二

第五章 基础构建模块 5.1 同步容器类 5.1.1 同步容器类的问题 如下&#xff0c;如果list含有10个元素&#xff0c;线程A调用getLast的同时线程B调用deleteLast&#xff0c;那么getLast可能会报ArrayIndexOutOfBoundsException 改为如下方式能确保size和get一致 Vector迭代也…

【795. 区间子数组个数】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给你一个整数数组 nums 和两个整数&#xff1a;left 及 right 。找出 nums 中连续、非空且其中最大元素在范围 [left, right] 内的子数组&#xff0c;并返回满足条件的子数组的个数。 生成的测试用例…

微信小程序| 用小程序复刻微信Wechat

&#x1f4cc;个人主页&#xff1a;个人主页 ​&#x1f9c0; 推荐专栏&#xff1a;小程序开发成神之路 --【这是一个为想要入门和进阶小程序开发专门开启的精品专栏&#xff01;从个人到商业的全套开发教程&#xff0c;实打实的干货分享&#xff0c;确定不来看看&#xff1f; …

新的趋势:From Big to Small and Wide data

新的趋势&#xff1a;From Big to Small and Wide data 所以&#xff0c;在这个时候&#xff0c;作为率先提出要做 MySQL 开源 HTAP 数据库的 StoneDB&#xff0c;想要稍微冷静一下。 不是说我们不做 HTAP 了&#xff0c;而是有了一个新的思路。这个思路&#xff0c;也同样来…

【模型训练】YOLOv7车辆三类别检测

YOLOv7车辆三类别检测 1、车辆三类别检测模型训练2、模型评估3、模型和数据集下载网盘链接1、本项目采用YOLOv7算法实现对车辆三类别检测,在几千多张车辆三类别数据集中训练得到,我们训练了YOLOv7、,所有指标都是在同一个验证集上得到; 2、目标类别数:3;类别名:car、bus…

【蓝桥杯选拔赛真题29】python堆砖块 青少年组蓝桥杯python 选拔赛STEMA比赛真题解析

目录 python堆砖块 一、题目要求 1、提示信息 1、编程实现 2、输入输出

WindowsServer域控的安装与卸载

搭建域服务器 1.安装域控 打开服务器管理器, 点击右上角的管理, 选择添加角色和功能 一直点击下一步,直到选择服务器角色处, 勾选Active Directory域服务器 一直下一步&#xff0c;然后点击安装 安装完毕后将此服务器提升为域控制器 自行设置DSRM的密码, 后面一直点击下一步直…

【优化调度】遗传算法求解公交车调度排班优化问题【含Matlab源码 2212期】

⛄ 一、 遗传算法简介 1 引言 公交排班问题是城市公交调度的核心内容,是公交调度人员、司乘人员进行工作以及公交车辆正常运行的基本依据。行车时刻表是按照线路的当前客流量情况,确定发车频率,提供线路车辆的首、末车时间。它是公交企业对社会的承诺,决定着为乘客服务的水平,…

2023-2028年中国花炮行业市场供需与投资预测分析报告

本报告由锐观咨询重磅推出&#xff0c;对中国花炮行业的发展现状、竞争格局及市场供需形势进行了具体分析&#xff0c;并从行业的政策环境、经济环境、社会环境及技术环境等方面分析行业面临的机遇及挑战。还重点分析了重点企业的经营现状及发展格局&#xff0c;并对未来几年行…

【Java 设计模式】简单工厂模式 静态工厂模式

简单工厂模式 & 静态工厂模式1 简单工厂模式1.1 角色1.2 点咖啡案例1.2.1 类图1.2.2 实现1.3 优点1.4 缺点2 静态工厂模式2.1 代码变动2.2 优点1 简单工厂模式 简单工厂模式并不属于 23 种设计模式。 1.1 角色 抽象产品&#xff1a;定义产品的规范&#xff0c;描述产品的…

相控阵天线(七):常规平面阵列分布(矩形阵列、三角栅格、六边形阵列和圆形阵列)

目录简介矩形栅格平面阵列三角栅格平面阵列六边形阵列圆形平面阵列空心平面阵列简介 常见的平面阵有一些基本类型&#xff0c;按照栅格形式可以进行以下划分&#xff1a;矩形栅格、三角形栅格、同心圆环和椭圆环栅格等&#xff1b;按照边界形式可以进行以下划分&#xff1a;矩…

React Native Webview 中input type=file accept=“image/*“ 无法调起相机问题排查及解决

最近在写一个react native 项目&#xff0c;其中react-native-webview库一些使用着实遇到了不少问题&#xff0c;耗时比较长&#xff0c;现在和大家分享一下。 图片上传时选择拍照是很常见的功能&#xff0c;写的h5项目一直调用正常。使用方式大概如下&#xff1a; <input…

【数据结构】—— 双链表的增删改查

❤️一名热爱Java的大一学生&#xff0c;希望与各位大佬共同学习进步❤️ &#x1f9d1;个人主页&#xff1a;周小末天天开心 各位大佬的点赞&#x1f44d; 收藏⭐ 关注✅&#xff0c;是本人学习的最大动力 感谢&#xff01; &#x1f4d5;该篇文章收录专栏—数据结构 目录 双…

艾美捷小鼠肿瘤坏死因子α-ELISpot试剂盒使用指南

ELISpot Plus for enumeration of cells secreting TNF-α This kit is ideal for users who want a convenient and sensitive assay. The assay is designed for the enumeration of cells secreting mouse TNF-α. The kit includes ELISpot plates pre-coated with monocl…

[附源码]计算机毕业设计JAVA面试刷题系统

[附源码]计算机毕业设计JAVA面试刷题系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis M…