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://www.hqwc.cn/news/688017.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv8火焰与烟雾智能检测系统

项目概述&#xff1a; 本项目旨在开发一款高效、实时的火焰与烟雾检测系统&#xff0c;利用先进的深度学习技术——YOLOv8&#xff0c;为安全监控领域提供智能化解决方案。系统不仅能够准确识别视频流或静态图像中的火焰与烟雾&#xff0c;还配备了用户友好的图形界面&#xff…

初阶数据结构—顺序表和链表

第一章&#xff1a;线性表 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构&#xff0c;也就…

Metes and Bounds Pro for Mac 激活版:精准数据转换与绘图利器

Metes and Bounds Pro for Mac是一款专为土地测量和边界划定而设计的专业软件&#xff0c;为Mac用户提供了高效、精确的测量工具。其核心功能在于其全面的测量工具和简便的操作流程&#xff0c;能够满足在土地管理、房地产开发、农业规划等领域的多样化需求。 这款软件集合了距…

【Vue】Vue的核心

目录 计算属性-computed插值语法实现methods实现计算属性实现使用使用总结&#xff1a; 监视属性-watch监视的两种写法&#xff1a;深度监视备注&#xff1a; computed和watch之间的区别 绑定样式class样式绑定字符串写法数组写法对象写法 style样式绑定对象式1对象式2数组式 条…

AI伦理和安全风险管理终极指南

人工智能&#xff08;AI&#xff09;正在迅速改变各个领域的软件开发和部署。驱动这一转变的两个关键群体为人工智能开发者和人工智能集成商。开发人员处于创建基础人工智能技术的最前沿&#xff0c;包括生成式人工智能&#xff08;GenAI&#xff09;模型、自然语言处理&#x…

单细胞分析:多模态 reference mapping (2)

引言 本文[1]介绍了如何在Seurat软件中将查询数据集与经过注释的参考数据集进行匹配。我们展示了如何将来自不同个体的人类骨髓细胞&#xff08;Human BMNC&#xff09;的人类细胞图谱&#xff08;Human Cell Atlas&#xff09;数据集&#xff0c;有序地映射到一个统一的参考框…

【busybox记录】【shell指令】cut

目录 内容来源&#xff1a; 【GUN】【cut】指令介绍 【busybox】【cut】指令介绍 【linux】【cut】指令介绍 使用示例&#xff1a; 关于参数的特殊说明&#xff1a; 打印行中选定部分 - 输出每行的第n-m个字节 打印行中选定部分 - 输出每行的第n-m个字符 打印行中选定…

Minimal-Supervised Medical Image Segmentation via Vector Quantization Memory

文章目录 Minimal-Supervised Medical Image Segmentation via Vector Quantization Memory摘要方法实验结果 Minimal-Supervised Medical Image Segmentation via Vector Quantization Memory 摘要 辅助重构分支&#xff1a;该分支通过提供额外的监督并产生学习视觉表示所需…

语言基础 /CC++ 可变参函数设计与实践,va_ 系列实战详解(强制参数和变参数的参数类型陷阱)

文章目录 概述va_ 系列定义va_list 类型va_start 宏从变参函数的强制参数谈起宏 va_start 对 char 和 short 类型编译告警宏 va_start 源码分析猜测 __va_start 函数实现 va_arg 宏宏 va_arg 无法接受 char 和 short为啥va_arg可解析int却不能解析float类型&#xff1f;宏 va_a…

windows设置Redis服务后台自启动

1.通过CMD命令行工是进入Redis安装目录&#xff0c;将Redis服务注册到 Windows服务中 redis-server.exe --service-install redis.windows.conf --loglevel verbose 2.查看—下Redis服务是否注册 WinR输入services.msc&#xff0c;确定进入&#xff0c;再查找是否有Redis 3.启动…

回溯法、全排列、子集等

回溯法 感想&#xff1a;回溯算法本质是一个循环&#xff0c;有点像while循环 一些回溯法&#xff08;递归&#xff09;的经典应用 1.全排列 2.子集 其实上面两个点&#xff0c;也是对应着高中数学里面的“排列”与“组合” 1.全排列问题 给定一个集合S{a,b,c}&#xff0…

实现WPF中的数据更新 属性通知界面:INotifyPropertyChanged接口

在WPF (Windows Presentation Foundation) 应用程序中&#xff0c;当数据发生变化时&#xff0c;通常希望UI能够自动更新以反映这些变化。为了实现这一功能&#xff0c;WPF 提供了数据绑定机制&#xff0c;并且配合 INotifyPropertyChanged 接口使用&#xff0c;可以在数据模型…