JavaScript 流程控制-分支 流程控制-循环

news2024/10/6 16:18:10

3.1分支结构

由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果。

JS语言提供了两种分支语句

  • if语句
  • switch 语句 

3.2 if 语句

1.语句结构

//条件成立执行代码,否则什么也不做

if(条件表达式){

        //条件成立执行的代码语句

        }

 2.执行流程

 3.3 if else 语句(双分支语句)

1.语句结构

//条件成立 执行 if 里面代码,否则执行else 里面的代码

if (条件表达式) {

        //[如果] 条件按成立执行代码

        } else {

        //[否则] 执行的代码

       }

3.4 if else if 语句 (多分支语句)

1.语法结构

    if (条件表达式1) {

            // 语句1;

        } else if (条件表达式2) {

            // 语句2;

        } else if (条件表达式3) {

            // 语句3;

        } else {

            // 最后的语句;

        }

 2.执行流程

 4.三元表达式

三元表达式也能够做一些简单的条件选择。有三元运算符组成的式子称为三元表达式。

5. 分支流程控制 switch 语句

switch 语句也是多分支语句,它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列的特定值的选项时,就可以使用switch。

        switch (表达式) {

             case value1:

                 执行语句1;

                 break;

             case value2:

                 执行语句2;

                 break;

                 ...

                 default:

                     执行最后的语句;

         }

switch 语句使用注意事项:

  1. 我们开发里面 表达式我们经常写成变量
  2.  我们num 的值 和 case 里面的值相匹配的时候是 全等   必须是值和数据类型一致才可以 num === 1
  3.  break 如果当前的case里面没有break 则不会退出switch 是继续执行下一个case

 5.2switch 语句和 if else if 语句的区别

  1. 一般情况下,他们两个语句时可以相互替换
  2. switch... case 语句通常处理 case 为比较确定值的情况,而 if ... else .. 语句更加灵活。常用于范围判断(大于,等于某个范围)
  3. switch 语句进行条件判断后直接执行到程序的条件语句,效率跟高。而if... else 语句有几种条件,就得判断多少次。
  4. 当分支比较多的情况下 switch语句的执行效率高,而且结构更清晰。
  5. 当分支比较少的情况下,if ... else 语句的执行效率比 switch语句高。

JavaScript 流程控制-循环

 在JS中,主要有三种类型的循环语句:

  • for 循环
  • while 循环
  • do ... while 循环

2.for 循环

在程序中,一组被重复执行的语句被称之为循环体,能否继续重复执行,取决于循环的终止条件,由循环体及循环的终止条件做成的语句,被称之为循环语句。

2.1 语法结构

for 循环主要用于把某些代码循环若干次,通常跟技术有关系。其语法结构如下:

for (初始化变量; 条件表达式; 操作表达式) {

        //循环体

        } 

 断点调试:

断点调试是指自己在程序的某一行设置一个断点,调试时,程序运行到这一行就会停止,然后你一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下。

断点调试可以帮助我们观察程序的运行过程

浏览器按住 f12 --》 sources --> 找到需要调试的文件 --> 在程序的某一行设置断点

WAtch:监视,通过watch 可以监视变量的值的变换,非常的常用

f11 程序单步执行,让程序一步一步的执行,这个时候,观察watch 中的变量的值的变换

代码调试的能力非常重要,只要学会了代码调试,才能够学会如何自己解决bug 的能力。初学者不要觉得调试代码比较麻烦就不去调试。

3.5 for 循环小结

  • for 循环可以重复执行某些相同的代码
  • for 循环可以重复执行些许不同的代码,因为我们有计数器
  • for 循环可以重复执行某些操作,比如算数运算符加法操作
  • 随着需求增加,双层for 循环可以做的更多,更好看的效果
  • 双层for 循环,外层循环一次,内层for 循环全部执行
  • for 循环是循环条件和数字直接相关的循环 

4.while 循环

while语句可以在表达式为真的前提下,循环执行指定的代码,直到表达式不为真时结束循环。

while 语句的语法结构如下:

while(条件表达式){

        //循环体代码

        } 

执行思路:

  1. 先执行条件表达式,如果结果为true,则执行循环体代码;如果为false,则退出循环,执行后面代码
  2. 执行循环体代码
  3. 循环体代码执行完毕后,程序会继续判断执行条件表达式,如条件表达式仍为true,则会继续执行循环体,直到循环体条件为false 时,整个循环过程才会结束。 

5. do... while 循环 

do ... while 语句其实是 while 语句的一个变体。该循环会先执行一次代码块,然后对条件表达式进行判断,如果条件为真,就会重复执行循环体,否则退出循环。

do ... while 语句的语法格式如下:

do {

        //循环体代码 - 表达式为真 true 时 重复执行循环体代码

        } while(条件表达式);

执行思路:

  1. 先执行一次循环体代码
  2. 在执行条件代码,如果结果为true, 则继续执行循环体代码,如果为false,则退出循环,继续执行后面的代码

注意:先执行循环体,在判断,我们会发现do... while 循环语句会少会执行一次循环体代码 

6.continue break

6.1 continue 关键字 

continue 关键字用于立即跳出本次循环,继续下一次循环(本次循环体中continue 之后的代码就会少执行一次)。

6.2 break 关键字 

break 关键字用于立即跳出整个循环(循环结束)

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

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

相关文章

Java入门之String学习随记(二)

一. 字符串的常用方法 public char charAt(int index) 根据索引返回字符 public int length() 返回字符串的长度 注意:获得字符串的长度和获得数组的长度不同,数组的长度是数组的属性 数组名.length() 属性 字符串.length() …

通知神器——java调用钉钉群自定义机器人----Jay

其中webhook非常重要,下文详述。点击设置说明可以看相关使用文档,文档链接见本文末尾 创建群自定义机器人 其中webhook非常重要,下文详述。点击设置说明可以看相关使用文档,文档链接见本文末尾 使用HTTP POST请求发送消息…

如何从linux社区下载和合入内核patch?

参考 git - How do I get a linux kernel patch set from the mailing list? - Unix & Linux Stack Exchangehttps://unix.stackexchange.com/questions/80519/how-do-i-get-a-linux-kernel-patch-set-from-the-mailing-list 方法 发现使用b4这个工具非常合适。 下面是…

【MySQL】数据库的查询语言DQL

目录 前言: 一.基本查询 1.1查询多个字段 1.2设置别名 1.3去除字段中重复的值 二.条件查询 2.1条件的种类 2.1.1比较运算符 2.1.2逻辑运算符 三.结尾 前言: 在前面讲完了如何增删改数据表中的记录后,那么如何使用这些数据就成了另一…

chatgpt赋能python:Python如何加断点

Python如何加断点 什么是断点 在程序执行时,开发人员可以设置断点,使得程序在断点处暂停执行,从而方便调试程序。当程序停在断点处时,可以查看变量的值、执行语句等,以找出程序中的错误。 Python加断点的方法 在Py…

chatgpt赋能python:Python中的元组及其自身的特性说明

Python 中的元组及其自身的特性说明 在 Python 中,元组是一组有序的值,可以存储各种不同类型的数据。与列表不同的是,元组是不可变的,一旦创建就不能修改。由于元组不可更改,因此它们的值在创建后是固定的。 由于元组…

C语言之预处理那点事

文章目录 一、程序的翻译和执行环境二、预定义符号的介绍1.预定义符号2.#define3.宏和函数的比较4.条件编译 总结 在C语言中,曾出现各种各样新的标准,有的昙花一现,有的则源远流传。我们这篇来看流传下来的,简化开发者编程和提升性…

FFmpeg音视频处理工具介绍及应用

1 FFmpeg介绍 FFmpeg项目由 Fabrice Bellard在2000年创立。到目前为止,FFmpeg项目的开发者仍然与VLC、MPV、dav1d、x264等多媒体开源项目有着广泛的重叠。Ffmpeg(FastForward Mpeg)是一款遵循GPL的开源软件,在音视频处理方面表现…

算法刷题-数组-移除元素

27. 移除元素 力扣题目链接 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。 元素的顺序可以改变。你不需…

chatgpt赋能python:Python如何编写优化SEO的软件

Python如何编写优化SEO的软件 作为一种功能强大且易于学习的编程语言,Python已经成为广泛使用的开发工具之一,其用户群体涵盖从初学者到专业开发人员。然而,在Python编写SEO相关软件时,开发人员需要遵循一些最佳实践,…

chatgpt赋能python:Python中如何加空格

Python中如何加空格 Python是一门广泛应用于科学计算、数据分析、人工智能、Web开发等领域的高级编程语言。在Python编程过程中,经常需要使用到空格,以实现程序的格式化和美观,同时也有助于提高代码的可读性和可维护性。本文主要介绍Python中…

人工蜂群算法(Artificial Bee Colony (ABC) Algorithm,附简单案例及详细matlab源码)

作者:非妃是公主 专栏:《智能优化算法》 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录 专栏推荐一、人工蜂群算法二、伪代码三…

前端vue地图定位并测算当前定位离目标位置距离

前端vue地图定位并测算当前定位离目标位置距离, 下载完整代码请访问uni-app插件市场地址: https://ext.dcloud.net.cn/plugin?id12974 效果图如下: # #### 使用方法 使用方法 <!-- // 腾讯地图key注册地址&#xff08;针对H5端&#xff0c;manifest.json中web配置&…

【力扣刷题 | 第六天】

目录 前言&#xff1a; 344. 反转字符串 - 力扣&#xff08;LeetCode&#xff09; 541. 反转字符串 II - 力扣&#xff08;LeetCode&#xff09; 今天我们进入字符串章节的刷题旅程&#xff0c;希望各位小伙伴可以和我一起坚持下去&#xff0c;一起征服力扣&#xff01; 前言…

chatgpt赋能python:Python如何删除列表中的重复数据

Python如何删除列表中的重复数据 介绍 Python是一种高级编程语言&#xff0c;可用于开发各种类型的应用程序&#xff0c;包括网站&#xff0c;桌面应用程序&#xff0c;数据分析和机器学习。在Python编程中&#xff0c;经常需要对列表中的数据进行操作。有时候&#xff0c;我…

【读书笔记】《蛤蟆先生去看心理医生》- [英] 罗伯特·戴博德

文章目录 第一章 整个人都不太好第二章 挚友前来相助第三章 初见咨询师第四章 抑郁的原因第五章 成长的寓言第六章 探索童年第七章 愤怒的表现第八章 意外访客第九章 秘密协议第十章 午餐聚会第十一章 蛤蟆先生的选择第十二章 说出人生故事第十三章 人生坐标与心理游戏第十四章…

动态规划II (42、53、64、70、72)

CP42 接雨水 题目描述&#xff1a; 学习记录&#xff1a; 虽然脑子里第一个蹦出双指针&#xff0c;但是题目是动态规划&#xff0c;两个混着想&#xff0c;啥也没想出来...不会 1.动态规划&#xff1a;太牛了吧&#xff0c;这个不是从整体去考虑每一块该怎么填&#xff0c;而…

Baumer工业相机堡盟工业相机如何使用BGAPISDK的相机图像时间戳计算运行时间以及时间差(C++)

Baumer工业相机堡盟工业相机如何使用BGAPISDK的相机图像时间戳计算运行时间以及时间差&#xff08;C&#xff09; Baumer工业相机Baumer工业相机BGAPI SDK和图像时间戳的技术背景Baumer工业相机使用BGAPISDK控制相机数据流的方式1.引用合适的类文件2.使用BGAPISDK获取时间戳的方…

动态规划I (45、55、62、63)

按顺序刷确实效率太低了&#xff0c;今天开始要按顺序的同时也按标题来了&#xff0c;全面加油&#xff01;这种应该以后会更多直接总结题解了&#xff0c;自我学习用&#xff0c;全靠大佬&#xff0c;贴贴&#xff01;&#xff01;含45、55、62、63 CP55 跳跃游戏 题目描述&…

【浅谈DBA职业生涯---误操作篇】

&#x1f448;【上一篇】 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 【下一篇】&#x1f449; &#x1f53b;【&#x1f4a3; 话题引入&#xff1a;请列举你在从事 DBA 生涯中,最难以忘怀的一次误操作】 &#x1f6a9; 该话题覆盖…