JavaScript基础(六)

news2024/12/28 18:22:34

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.coloradmin.cn/o/1662007.html

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

相关文章

大势所趋!企业网站HTTPS升级全面普及化

JoySSL官网 注册码230918 HTTPS加密协议的应用无疑是维护网络信息安全的重要一环。随着技术的不断进步与用户隐私意识的增强&#xff0c;HTTPS加密已不再仅仅是大型企业的专属&#xff0c;而是逐渐成为所有企业网站的标准配置&#xff0c;其普及化趋势显而易见&#xff0c;堪称…

人工智能|深度学习——PlotNeuralNet简单教程

一、简介 PlotNeuralNet是一个强大的开源Python库,它专为简化和美化神经网络图的绘制而设计 二、安装 需要下载的工具包括&#xff1a;MikTeX&#xff0c;Python代码编辑器&#xff08;这个肯定会有的吧&#xff09;&#xff0c;Git bash&#xff08;可选&#xff09;&#xff…

惠海 H6391 升压恒压芯片IC 2.6-5V升12V/18V方案 内置MOS 高效率 低功耗

升压恒压芯片IC的工作原理主要基于电感和电容的存储能量特性&#xff0c;以及脉宽调制&#xff08;PWM&#xff09;技术。在升压过程中&#xff0c;芯片内部包含了如输入滤波电容、续流二极管、升压电感、开关管、输出滤波电容等部分。当开关管处于导通状态时&#xff0c;电感中…

牛客小白月赛93

B交换数字 题目&#xff1a; 思路&#xff1a;我们可以知道&#xff0c;a*b% mod (a%mod) * (b%mod) 代码&#xff1a; void solve(){int n;cin >> n;string a, b;cin >> a >> b;for(int i 0;i < n;i )if(a[i] > b[i])swap(a[i], b[i]);int num1…

[Algorithm][递归][斐波那契数列模型][第N个泰波那契数][三步问题][使用最小花费爬楼][解码方法]详细讲解

目录 1.第 N 个泰波那契数1.题目链接2.算法原理详解3.代码实现 2.三步问题1.题目链接2.算法原理详解3.代码实现 3.使用最小花费爬楼梯1.题目链接2.算法原理详解3.代码实现 4.解码方法1.题目链接2.算法原理详解3.代码实现 1.第 N 个泰波那契数 1.题目链接 第 N 个泰波那契数 2…

mysql中sql语句 exists 判断子句的用法

如果子查询成立才执行父查询 exists判断子查询的使用例子&#xff1a; 张三不存在所以前面的父查询不执行 后面的子句结果存在&#xff0c;所以前面的父查询被执行 where条件所连接的嵌套子查询都是&#xff0c;条件子查询 ———————————————————————…

SSM【Spring SpringMVC Mybatis】——Mybatis(二)

如果对一些基础理论感兴趣可以看这一期&#x1f447; SSM【Spring SpringMVC Mybatis】——Mybatis 目录 1、Mybatis中参数传递问题 1.1 单个普通参数 1.2 多个普通参数 1.3 命名参数 1.4 POJO参数 1.5 Map参数 1.6 Collection|List|Array等参数 2、Mybatis参数传递【#与…

数据结构与算法学习笔记八-二叉树的顺序存储表示法和实现(C语言)

目录 前言 1.数组和结构体相关的一些知识 1.数组 2.结构体数组 3.递归遍历数组 2.二叉树的顺序存储表示法和实现 1.定义 2.初始化 3.先序遍历二叉树 4.中序遍历二叉树 5.后序遍历二叉树 6.完整代码 前言 二叉树的非递归的表示和实现。 1.数组和结构体相关的一些知…

Ps 滤镜:蒙尘与划痕

Ps菜单&#xff1a;滤镜/杂色/蒙尘与划痕 Filter/Noise/Dust & Scratch 蒙尘与划痕 Dust & Scratch滤镜可用于修复图像中的小瑕疵、尘埃或划痕&#xff0c;特别适合用于清理扫描的照片或老照片中的损伤&#xff0c;以及其他因拍摄条件不理想或相机传感器上的尘埃所造成…

网络安全防护:抵御DDoS和CC攻击

在当今数字化时代&#xff0c;网络安全已成为任何组织或个人不可忽视的重要议题。DDoS&#xff08;分布式拒绝服务&#xff09;攻击和CC&#xff08;命令与控制&#xff09;攻击作为两种最为常见的网络攻击方式&#xff0c;给网络运营者和用户带来了巨大的威胁和影响。本文将介…

Acrobat Pro DC 2023 for Mac:PDF处理的终极解决方案

Acrobat Pro DC 2023 for Mac为Mac用户提供了PDF处理的终极解决方案。它具备强大的文档处理能力&#xff0c;无论是查看、编辑还是创建PDF文件&#xff0c;都能轻松胜任。在编辑功能方面&#xff0c;Acrobat Pro DC 2023支持对文本、图像进行精准的修改和调整&#xff0c;还能添…

回溯法、全排列、子集等

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

服务的war包已经丢在tomcat中但是还是没法访问,如何排查?

问题出现的现象是我已经将 XWiki 的 WAR 包放置在 Tomcat 的 webapps目录下但仍然无法访问&#xff0c;反思之后可以从下面以下几个方面来诊断和解决问题&#xff1a; 1. 确认 Tomcat 正在运行 首先&#xff0c;确保 Tomcat 服务正在正常运行。可以使用以下命令检查 Tomcat 的…

word转pdf的java实现(documents4j)

一、多余的话 java实现word转pdf可用的jar包不多&#xff0c;很多都是收费的。最近发现com.documents4j挺好用的&#xff0c;它支持在本机转换&#xff0c;也支持远程服务转换。但它依赖于微软的office。电脑需要安装office才能转换。鉴于没在linux中使用office&#xff0c;本…

字符以及字符串函数

字符以及字符串函数 求字符串长度strlen 长度不受限制的字符串函数strcpystrcatstrcmp 长度受限制的字符串函数strncpystrncatstrncmp 字符串查找strstrstrtok 错误信息报告strerror 字符分类函数字符转换函数tolowertoupper 内存操作函数memcpymemmovememcmpmemset 这篇文章注…

【算法】Dijkstra求最短路算法

TOP提示&#xff1a;Dijkstra算法只适用于不含负权边的情况 Dijkstra算法是一个基于贪心&#xff0c;广搜和动态规划 求图中某点到其他所有点的最短路径的算法 一、步骤 首先我们先总结Dijkstra算法的完整步骤 我们需要一个dis数组存储从起点到达其他节点的最短距离&…

【小迪安全2023】第62天:服务攻防-框架安全CVE复现SpringStrutsLaravelThinkPHP

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收…

【影片欣赏】【指环王】【魔戒:国王归来 The Lord of the Rings: The Return of the King】

往期魔戒博客见&#xff1a; 【影片欣赏】【指环王】【魔戒&#xff1a;护戒使者 The Lord of the Rings: The Fellowship of the Ring】 【影片欣赏】【指环王】【魔戒&#xff1a;双塔奇谋 The Lord of the Rings: The Two Towers】 2004年发行&#xff0c;Special Extend…

控制情绪是交易成功的根本?大错特错

布雷特斯坦伯格&#xff08;Brett Steenbarger&#xff09;是一位在美国享有盛誉的交易心理学专家&#xff0c;他曾在华尔街的多个顶尖培训中心担任交易员的心理指导。身为心理学教授兼高级交易员的布雷特在交易心理方面要比别人了解得多。而且小编觉得做一个成功的交易员只靠交…

[c++]多态的分析

多态详细解读 多态的概念多态的构成条件 接口继承和实现继承: 多态的原理:动态绑定和静态绑定 多继承中的虚函数表 多态的概念 -通俗的来说&#xff1a;当不同的对象去完成某同一行为时&#xff0c;会产生不同的状态。 多态的构成条件 必须通过基类的指针或者引用调用虚函数1虚…