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.xdnf.cn/news/1420367.html

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

相关文章

Stable Diffusion是什么?

目录 一、Stable Diffusion是什么&#xff1f; 二、Stable Diffusion的基本原理 三、Stable Diffusion有哪些运用领域&#xff1f; 一、Stable Diffusion是什么&#xff1f; Stable Diffusion是一个先进的人工智能图像生成模型&#xff0c;它能够根据文本描述创造出高质量的图…

牛客NC404 最接近的K个元素【中等 二分查找+双指针 Java/Go/PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/b4d7edc45759453e9bc8ab71f0888e0f 知识点 二分查找&#xff1b;找到第一个大于等于x的数的位置idx;然后从idx开始往两边扩展Java代码 import java.util.*;public class Solution {/*** 代码中的类名、方法名、…

【基于 PyTorch 的 Python 深度学习】6 视觉处理基础:卷积神经网络(1)

前言 文章性质&#xff1a;学习笔记 &#x1f4d6; 学习资料&#xff1a;吴茂贵《 Python 深度学习基于 PyTorch ( 第 2 版 ) 》【ISBN】978-7-111-71880-2 主要内容&#xff1a;根据学习资料撰写的学习笔记&#xff0c;该篇主要介绍了卷积神经网络的卷积层部分。 预&#xff1…

Spring编程使用DDD的小把戏

场景 现在流行充血领域层&#xff0c;在原本只存储对象的java类中&#xff0c;增加一些方法去替代原本写在service层的crud&#xff0c; 但是例如service这种一般都是托管给spring的&#xff0c;我们使用的ORM也都托管给spring&#xff0c;这样方便在service层调用mybatis的m…

【大数据】HDFS

文章目录 [toc]HDFS 1.0NameNode维护文件系统命名空间存储元数据解决NameNode单点问题 SecondaryNameNode机架感知数据完整性校验校验和数据块检测程序DataBlockScanner HDFS写流程HDFS读流程HDFS与MapReduce本地模式Block大小 HDFS 2.0NameNode HANameNode FederationHDFS Sna…

windows环境下 postgresql v12 绿色版+postgis 3.4.1版本配置,空间数据库迁移

windows环境下 postgresql v12 绿色版+postgis 3.4.1版本配置,空间数据库迁移 一、软件环境 操作系统:windows 11 pg免安装版数据库:postgresql-12.17-1-windows-x64-binaries.zip 下载地址:https://get.enterprisedb.com/postgresql/postgresql-12.18-1-windows-x64-bina…

ISIS学习二——与OSPF相比的ISIS报文以及路由计算

目录 一.ISIS支持的网络类型 1.OSPF支持 2.ISIS支持 二.ISIS最优路径的选取 &#xff08;1&#xff09;.ISIS开销值设置 1.全局开销 2.接口开销 3.根据带宽设置开销 &#xff08;2&#xff09;.ISIS的次优路径 三.ISIS报文格式 1.ISIS专用报头——TLV 2.ISIS通用头…

JavaScript APIs

控制网页元素交互等各种网页交互效果。 一、Web API基本认知 声明数组和变量优先使用const 使用let声明变量的情况&#xff1a; 1、如果基本数据类型的值或者引用类型的地址发生变化的时候&#xff0c;需要用let 2、比如 一个变量进行加减运算&#xff0c;比如 for循环中的…

FreeRTOS的列表和列表项 list.c文件详解

列表、列表项的定义以及初始化 列表相当于链表&#xff0c;列表项相当于节点&#xff0c;FreeRTOS中的列表相当于一个双向环形链表。 列表使用指针指向列表项。一个列表&#xff08;list&#xff09;下面可能有很多个列表项&#xff08;list item&#xff09;&#xff0c;每个…

第十三篇:智慧之网:深度探索关系型数据库的数学奥秘与实战技艺

智慧之网&#xff1a;深度探索关系型数据库的数学奥秘与实战技艺 1. 引言 1.1 数据时代的基石 在数字化的浪潮中&#xff0c;数据已成为新时代的石油&#xff0c;而关系型数据库则是这座数据矿藏的精炼厂。自E.F. Codd在1970年提出关系模型以来&#xff0c;关系型数据库以其坚…

LeetCode - 0088 合并两个有序数组

题目地址&#xff1a;https://leetcode.cn/problems/merge-sorted-array/description/ 引言&#xff1a;话接上回&#xff0c;由于上次面试官着急下班&#xff0c;面试不得不提前终止&#xff0c;这不&#xff0c;他又找我去面试了 面试官&#xff1a;你好&#xff0c;小伙子&a…

【二叉树】Leetcode 二叉树的锯齿形层序遍历

题目讲解 103. 二叉树的锯齿形层序遍历 算法讲解 这道题其实是和N叉树层序遍历是一样的&#xff0c;只不过是要求每一次的遍历的方向不一样&#xff1b;注意&#xff1a;这一次的使用的队列不能够是queue了&#xff0c;因为需要从后往前遍历容器&#xff0c;所以就可以使用v…

vs code中如何使用git

由于本地代码有了一些储备&#xff0c;所以想通过网址托管形式&#xff0c;之前一直使用了github&#xff0c;但是鉴于一直被墙&#xff0c;无法登录账号&#xff0c;所以选择了国内的gitee来作为托管网站。 gitee的网址&#xff1a;Gitee - 基于 Git 的代码托管和研发协作平台…

事件高级部分

一&#xff0c;注册事件 即给元素添加事件 1.传统注册方式 2.方法监听注册方式 事件类型&#xff1a;字符串形式&#xff0c;不用带on 可以给一个元素添加多个程序 二.删除事件 1.方式 参数见上文 三.DOM事件流 事件的传播过程叫做事件流 js代码只能获取一个阶段&#xf…

JAVA毕业设计138—基于Java+Springboot+Vue的医院预约挂号小程序(源代码+数据库)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootVue的医院预约挂号小程序(源代码数据库)138 一、系统介绍 本系统前后端分离带小程序和后台 小程序&#xff08;用户端&#xff09;&#xff0c;后台管理系统&a…

判断上三角矩阵 分数 15

题目展示&#xff1a; 代码展示&#xff1a; 点这里&#xff0c;输入题目名称即可检索更多题目答案 ​#include<stdio.h>int main() {//T-tint t 0;scanf("%d",&t);while(t--)//循环t次&#xff0c;处理t个矩阵{int n 0;scanf("%d",&n);…

【机器学习】集成学习在信用评分领域实例

集成学习在信用评分领域的应用与实践 一、引言二、集成学习的概念与原理三、集成学习在信用评分中的应用实例四、总结与展望 一、引言 在当今金融数字化快速发展的时代&#xff0c;信用评分成为银行、金融机构等评估个人或企业信用风险的重要工具。然而&#xff0c;单一的信用评…

QuickBooks 2024 for Mac 激活版:智慧管理,财务无忧

想要轻松掌控财务&#xff0c;实现高效管理吗&#xff1f;QuickBooks 2024 for Mac&#xff0c;您的智慧财务管理专家&#xff0c;为您带来前所未有的便利和体验。无论是账务、工资还是销售和库存&#xff0c;它都能一手搞定。直观易用的界面&#xff0c;让您轻松上手&#xff…