JavaScript基础(六)

break & continue

continue跳出本次循环,继续下面的循环。

break跳出终止循环。

写个简单的例子:

<script>

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

        if (i==3){

            continue;

        }

        console.log(i);

    }

</script>

ad2f12b2986b42e99b5e4c9e83534d82.png

 结果就是跳过i等于3的那次循环,而break:

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

        if (i==3){

            break;

        }

        console.log(i);

    }

f0de18a42fdd47628416d30ec97c0a07.png

 显而易见,i等于3以及后面的循环直接不执行了。

之前我们写的100以内偶数和还记得吧,那个也可以用continue来写:

<script>

    var sum = 0;

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

        if (i%2!=0){

            continue;

        }

       sum+=i;

    }

    console.log(sum);

</script>

2af03e68718c425fae3f2e86affabf64.png

除2余数不等于0的跳过,把不是偶数的都跳过去了,加起来接收一下就好了。

好,continue有用,那break有什么用?这么用——

当你不知道循环执行多少次,可以写个死循环,然后在循环体内判断,满足条件后break终止即可。

那死循环怎么写?

两个方法,没有条件就是死循环,循环条件直接不写,写个分号空着,例:for (var i=1; ; i++)

还有就是这个可以一直满足的条件,比如,i>-1,初始值i=0,i++,自然每次循环就符合条件了。

无穷无尽这就是死循环,到时候就需要在特定的位置bteak终止。

例子还是熟悉的折纸超过珠峰:

对折纸(0.001m)超过珠峰需要多少次?刚超过时高度是多少?

<script>

    //纸的厚度

    var paper =0.001;

    //珠峰高度

    var paek =8848;

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

        paper =paper*2;

        if (paper>paek){

            console.log('对折了'+i+'次,高度达到了'+paper+'超过了珠峰');

            break;

        }

    }

</script>

6e34b818caf1469485800fac86c7c974.png

 练习:模拟计算器

依次输入三个弹窗,第一个输入数字,第二个输入运算符,第三个输入数字,然后给出结果。

非常简单,直接看代码

<script>

    //-0是为了给它转为整数类型

    var num1 = prompt('请输入第一个数')-0;

    var num2 = prompt('请输入运算符+-*/');

    var num3 = prompt('请输入第二个数')-0;

    var sum=0;//用于接收结果

    switch (num2){

        case '+':

            sum=num1+num3;

            alert(sum);

            break;//别忘了case击穿

        case '-':

            sum=num1-num3;

            alert(sum);

            break;

        case '*':

            sum=num1*num3;

            alert(sum);

            break;

        case '/':

            sum=num1+num3;

            alert(sum);

            break;

        default:

            alert('输入内容有误');

            break;

    }

</script>

589ca1d73f4e4d12aaf3e27ffe438e0e.png

1dc38f47c8854428a073f5d11c00479b.png 

4ddf421a49ee4b3eb3f2839a30780bd4.png 

 它们的区别是运算方式不同,这种重复性高的我们直接用switch case就行。

练习:接收输入的成绩计算平均分

 

<script>

    var score;  //每局分数

    var  avg;   //平均分

    var  sum=0;  //总分

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

        score = prompt('请输入第'+i+'局的成绩')

        if (isNaN(score)){

            i--;//非数字倒退回本次循环开始

            continue;

        }//isNaN(非数字)执行后面内容,后面细说这个东西

        score-=0;//转成数字类型

         sum+=score;

         avg=sum/i;

    }

    console.log('平均分:'+avg);

</script>

bc60ff641a154e9988027d856e068c10.png

 我们乱输入,直接重新回到本次循环开始

4006eb74f49c4d5dbe2bfad78532e284.png

我每次都输入20,测试结果:

f6782e746a8d4f2fa7a02821266927a3.png

练习:找出1-1000以内所有能被5整除,或被6整除的数,并输出。

 <script>

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

        if (i%5==0 || i%6==0){

            console.log(i);

        }

    }

</script>

7035820080494a5b85790c8371f30b3d.png

 或满足一边就行,用ΙΙ对不对,那同时满足用&&,复习一下。

最后一个练习,打印金字塔。

很多写法①可以用横线来写

直接在body中写

<body>

    <hr style="width: 10%;">

    <hr style="width: 9%;">

    <hr style="width: 8%;">

    <hr style="width: 7%;">

    <hr style="width: 6%;">

    <hr style="width: 5%;">

    <hr style="width: 4%;">

    <hr style="width: 3%;">

    <hr style="width: 2%;">

    <hr style="width: 1%;">

</body>

20d46216ba104493816a61cda9f805b9.png

太low了,这肯定不是我们的目的,但这也不失为一种方法。

②for循环来写

 for (var i=70; i>=10; i-=10){

    var str='<hr style="width: '+i+'%;">';

    document.write(str);

   }

d775e4cbdad64023947b4e8ce6ee9be9.png

下面再反着来,弄一个对着的

<script>

   for (var i=70; i>=10; i-=10){

    var str='<hr style="width: '+i+'%;">';

    document.write(str);

   }

   for (var i=10; i<=70; i+=10){

    var str='<hr style="width: '+i+'%;">';

    document.write(str);

   }

</script>

f7b5eb5f637d47278528ebc284475804.png

  第三种就是直接写了

for (var i=10; i<=70; i+=10){

    document.write('<hr style="width: '+i+'%;">');

   }

aeda97cd35fb45948a52622c0625d497.png

 但是,这种写法不好,用变量接收输出的写法是最好的,更好维护。

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

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

相关文章

XWiki 服务没有正确部署在tomcat中,如何尝试手动重新部署?

1. 停止 Tomcat 服务 首先&#xff0c;您需要停止正在运行的 Tomcat 服务器&#xff0c;以确保在操作文件时不会发生冲突或数据损坏&#xff1a; sudo systemctl stop tomcat2. 清空 webapps 下的 xwiki 目录和 work 目录中相关的缓存 删除 webapps 下的 xwiki 目录和 work …

线程同步--互斥锁,读写锁

线程同步 基本概念 线程的能力在于能够方便地通过全局变量或共享内存来交换信息&#xff0c;但这也带来了并发控制的复杂性&#xff0c;主要表现在如何安全地管理多个线程对共享资源的访问。这里涉及到几个关键的概念和技术&#xff1a; 临界区&#xff08;Critical Section…

Vue面试经验2

Vue 你说你在vue项目中实现了自定义指令&#xff0c;如何实现 全局指令在main.js入口文件中实现 使用方法&#xff1a;v-指令名称 每个钩子函数都有两个参数&#xff08;ele,obj&#xff09; ele:绑定指令的元素 obj:指令的一些信息&#xff08;比如绑定指令的值&#xff0c…

深度学习之前馈神经网络

1.导入常用工具包 #在终端中输入以下命令就可以安装工具包 pip install numpy pip install pandas Pip install matplotlib注&#xff1a; numpy是科学计算基础包 pandas能方便处理结构化数据和函数 matplotlib主要用于绘制图表。 #导包的代码&#xff1a; import numpy as n…

攻防世界(CTF)~web-supersqli(详细解题思路)

题目介绍 题目描述“随便注” 先看一下是否存在注入 判断闭合方式 输入1’ and 11-- -正常回显 输入1and 12-- -无回显,确认是单引号闭合 看一下列数 输入1 order by 2-- - 有回显 输入1 order by 3-- - 报错&#xff0c;由此判断两列 使用union联合注入发现select被过滤了&a…

MyBatis——使用MyBatis完成CRUD

CRUD&#xff1a;Create Retrieve Update Delete 1、insert <insert id"insertCar">insert into t_car(id,car_num,brand,guide_price,produce_time,car_type)values(null,1003,五菱宏光,30.0,2020-09-18,燃油车); </insert> 这样写显然是写死的&#…

python数据分析——pandas数据结构1

参考资料&#xff1a;活用pandas库 1、创建数据 &#xff08;1&#xff09;创建Series 在pandas中&#xff0c;series是一维容器&#xff0c;seires中的数据类型&#xff08;dtype&#xff09;必须相同。创建series最简单的方法是传入一个python列表。如果传入的是混合类型的…

[ES] ElasticSearch节点加入集群失败经历分析主节点选举、ES网络配置 [publish_address不是当前机器ip]

背景 三台CentOS 7.6.1虚拟机&#xff0c; 每台虚拟机上启动一个ElasticSearch 7.17.3&#xff08;下面简称ES&#xff09;实例 即每台虚拟机上一个ES进程&#xff08;每台虚拟机上一个ES节点&#xff09; 情况是&#xff1a; 之前集群是搭建成功的, 但是今天有一个节点一…

【35分钟掌握金融风控策略19】贷前风控策略详解-4

目录 贷前风控模型体系和模型在策略中的应用 信用模型体系和模型在策略中的应用 申请评分卡模型 收入预测模型 动支模型 融合模型 贷前风控模型体系和模型在策略中的应用 风控过程中需要开发的模型主要包括分类模型、回归模型和聚类模型&#xff0c;这些模型主要是为了解…

将本地托管模型与 Elastic AI Assistant 结合使用的好处

作者&#xff1a;来自 Elastic James Spiteri, Dhrumil Patel 当今公共部门组织利用生成式人工智能解决安全挑战的一种方式。 凭借其筛选大量数据以发现异常模式的能力&#xff0c;生成式人工智能现在在帮助团队保护其组织免受网络威胁方面发挥着关键作用。 它还可以帮助安全专…

博特激光:355nm高精度紫外激光打标机带来极致工艺

紫外激光打标机在现代制造业和技术中的应用&#xff0c;的确在准确度和精密度方面带来了革命性的提高。特别是在微电子、半导体、医疗器械、高端消费品等需要高精度、高清晰打标的行业&#xff0c;紫外激光打标机以其独特的优势&#xff0c;赋予产品极致的工艺品质。 以下是UV激…

编程式导航

目录 一、问题引入 二、基本跳转 1.path路径跳转&#xff08;简易方便&#xff09; 2.name命名路由跳转&#xff08;适合path路径长的场景&#xff09; 三、路由传参 1.path路径跳转传参 &#xff08;1&#xff09;query传参 &#xff08;2&#xff09;动态路由传参 2.…

Leetcode—796. 旋转字符串【简单】

2024每日刷题&#xff08;132&#xff09; Leetcode—796. 旋转字符串 实现代码 class Solution { public:bool rotateString(string s, string goal) {return ((s.length() goal.length()) && (s s).find(goal) ! string::npos);} };运行结果 之后我会持续更新&am…

Edge视频增强功能

edge://flags/#edge-video-super-resolution 搜索Video查找 Microsoft Video Super Resolution 设置为Enabled

工控组态技术:实现工业自动化控制的重要手段

体验地址&#xff1a;by组态[web组态插件] 工控组态技术是一种应用于工业自动化控制领域的重要技术&#xff0c;它通过将各种不同的硬件设备和软件系统进行组合和配置&#xff0c;实现了工业生产过程的自动化控制和优化。 随着工业技术的不断发展和进步&#xff0c;工控组态技…

linux性能监控之top

说完了atop和htop&#xff0c;我们在来说说Linux自带的top&#xff0c;我们先看看命令效果&#xff1a; 可以看到是一个实时的系统监控工具&#xff0c;提供了一个动态的、交互式的实时视图&#xff0c;显示系统的整体性能信息以及正在运行的进程的相关信息。 我们先来解析下命…

UnsupportedClassVersionError异常如何解决?

下面是异常报错的详细描述 java -version java version "17.0.11" 2024-04-16 LTS Java(TM) SE Runtime Environment (build 17.0.117-LTS-207) Java HotSpot(TM) 64-Bit Server VM (build 17.0.117-LTS-207, mixed mode, sharing) 环境变量已经是jdk17&#xff0c;但…

6 7 8 9 11 12 15 17 18 20 22cm散热风扇防护网风扇金属网罩

品牌&#xff1a;威驰 颜色分类&#xff1a;60mm/6cm金属网,80mm/8cm金属网,92mm/9.2cm金属网,110mm/11cm金属网,120mm/12cm金属网,150mm/15cm金属网,172mm/17.2cm金属网,200mm/20cm金属网,280mm/28cm金属网 1产品参数&#xff0c;防护网罩60 80 90 110 120 125 145 150 180…

【Spring之依赖注入】2. Spring处理@Async导致的循环依赖失败问题

使用异步Async注解后导致的循环依赖失败详解 1 问题复现1.1 配置类1.2 定义Service1.3 定义Controller1.4 启动springboot报错 2.原因分析&#xff1a;看Async标记的bean注入时机2.1 循环依赖生成过程2.2 自检程序 doCreateBean方法 3.解决方案3.1 懒加载Lazy3.1.1 将Lazy写到A…

FANUC机器人工具坐标偏移的用法

一、工具坐标偏移的使用场景 在机器人位置不改变的情况下&#xff0c;工业机器人使用默认工具坐标系示教的一系列运动点位&#xff0c;要保持原本点位位置不变的情况下&#xff0c;改变机器人工具坐标的参数&#xff0c;就要用到机器人坐标转化的功能。在FANUC机器人上体现为机…