JavaScript流程控制分支

 目录

一、流程控制

二、顺序流程控制

三、分支流程控制 if 语句

        1.分支结构

        2.if 语句

        3.if else 语句 (双分支语句)

        4.if else if 语句 (多分支语句)

四、三元表达式

五、分支流程控制switch语句

        1.分支流程控制switch语句

        2.switch 语句和 if else 语句的区别

一、流程控制

        1.在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的。很多时候我们要通过控制代码的执行顺序来实现我们要完成的功能

        2.简单理解:流程控制就是来控制我们代码按照什么结构顺序来执行

        3.流程控制主要有三种结构,分别是顺序结构、分支结构和循环结构,这三种结构代表三种代码执行的顺序。

二、顺序流程控制

        1.顺序结构是程序中最简单、最基本的流程控制,他没有特定的语法结构,程序会按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的

三、分支流程控制 if 语句
        1.分支结构

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

                (2)js语言提供了两种分支结构的语句

                        1)if 语句

                        2)switch语句

        2.if 语句

                (1)语法结构

                        1)语句可以理解为一个行为,循环语句和分支语句就是典型的语句。一个程序由很多个语句组成,一般情况下,会分割成一个一个的语句。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 1. if 的语法结构 如果 = if
        // if (条件表达式) {
            // 执行语句
        // }

        // 2. 执行思路 如果 if 里面的条件表达式结果为真 true 则执行大括号里面的 执行语句
        // 如果if 条件表达式结果为假 则不执行打括号里面的语句 则执行if 语句后面的代码

        // 3. 代码体验
        if (3 < 5) {
            alert('ljh');
        }
    </script>
</head>
<body>
    
</body>
</html>
        3.if else 语句 (双分支语句)

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 1. 语法结构  if = 如果 else = 否则
    //     if (条件表达式) {
    //         // 执行语句1
    //     } else {
    //         // 执行语句2
    //     }
        // 2.执行思路 如果表达式结果为真 那么执行语句1 否则 执行语句2
        // 3. 代码验证
        var age = prompt('请输入您的年龄');
        if (age >= 18) {
            alert('欢迎来到本网吧');
        } else {
            alert('未成年禁止入内');
        }
        // 4. if里面的语句1 和 else 里面的语句2 最终只能有一个语句执行 2选1
        // 5. else 后面直接跟大括号
    </script>
</head>
<body>
    
</body>
</html>
        4.if else if 语句 (多分支语句)

                (1)适合于检查多重条件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 1. 多分支语句 就是利用多个条件来选择不同的语句执行 得到不同的结果 多选1 的过程、
        // 2. if else if语句就是多分支语句
        // 3. 语法规范
        if (条件表达式1) {
            // 语句1;
        } else if (条件表达式2) {
            // 语句2;
        } else if (条件表达式3) {
            // 语句3;
        } else {
            // 最后的语句
        }
        // 4. 执行思路
        // 如果条件表达式1 满足就执行 语句1 执行完毕后 退出整个if 分支语句
        // 如果条件表达式2 不满足 则判断条件表达式2 满足就执行语句2 以此类推
        // 5. 注意点
        // (1) 多分支语句还是多选1 最后只能有一个语句执行
        // (2) else if 里面的条件理论上是可以任意多个的
        // (3) else if 中间必须有空格
    </script>
</head>
<body>
    
</body>
</html>
四、三元表达式

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 1. 有三元运算符组成的式子我们成为三元表达式
        // 2. ++num  3 + 5   ? :
        // 3. 语法结构
        // 条件表达式 ? 表达式1 : 表达式2;
        // 4. 执行思路
        // 如果条件表达式结果为真 则 返回 表达式1 的值 为假 则返回 表达式2 的值
        // 5. 代码体验
        var num = 10;
        var result = num > 5 ? 'yes' : 'no'; // 表达式是有返回值的
        console.log(result);
    </script>
</head>
<body>
    
</body>
</html>
五、分支流程控制switch语句
        1.分支流程控制switch语句

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 1. switch 语句也是多分支语句 也可以实现多选1
        // 2. 语法结构 switch 转换、开关 case 小例子或者选项的意思
        // switch (表达式) {
        //     case value1:
        //          执行语句1;
        //          break;
        //     case value2:
        //          执行语句2;
        //          break;
        //     default:
        //          最后语句;
        // }
        // 3. 执行思路 利用我们的表达式的值 和 case 后面的选项值匹配 匹配上,执行case
        // 里面的语句 如果没有匹配上,那么执行 default里面的语句
        // 4. 代码验证
        switch(8) {
            case 1:
            console.log('这是1');
            break;
            case 2:
            console.log('这是2');
            break;
            case 3:
            console.log('这是3');
            break;
            default:
            console.log('以上都没有');
        }
    </script>
</head>
<body>
    
</body>
</html>
        2.switch 语句和 if else 语句的区别

                (1)一般情况下,它们两个语句可以相互替换

                (2)switch...case 语句通常处理case为比较确定值的情况,而 if...else... 语句更加灵活,常用于范围判断(大于、等于某个范围)

                (3)switch 语句进行条件判断后直接执行到程序的条件语句,效率更高,而 if...else 语句有几种条件,就得判断多少次

                (4)当分支比较少时,if...else语句的执行效率比switch高。

                (5)当分支比较多时,switch语句的执行效率比较高,而且结构更清晰

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // switch 注意事项
        var num = 1;
        switch (num) {
            case 1:
                console.log(1);
                break;
            case 2:
                console.log(2);
                break;
            default:
                console.log(3);
        }
        // 1. 我们开发里面 表达式我们经常写成变量
        // 2. 我们num 的值 和 case 里面的值想匹配的时候是 全等 必须是值和数据类型一致才可以 num === 1
        // 3. break 如果当前的case里面没有break 则不会退出 switch 是继续 执行下一个从 case
    </script>
</head>

<body>

</body>

</html>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

189.二叉树:把二叉搜索树转换为累加树(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

深度神经网络——决策树的实现与剪枝

概述 决策树 是一种有用的机器学习算法&#xff0c;用于回归和分类任务。 “决策树”这个名字来源于这样一个事实&#xff1a;算法不断地将数据集划分为越来越小的部分&#xff0c;直到数据被划分为单个实例&#xff0c;然后对实例进行分类。如果您要可视化算法的结果&#xf…

【linux】操作系统使用wget下载网络文件,内核tcpv4部分运行日志

打印日志代码及运行日志(多余日志被删除了些)&#xff1a; 登录 - Gitee.comhttps://gitee.com/r77683962/linux-6.9.0/commit/55a53caa06c1472398fac30113c9731cb9e3b482 测试步骤和手段&#xff1a; 1、清空 kern.log&#xff1b; 2、使用wget 下载linux-6.9.tar.gz&…

webgis 之 地图投影

地图投影 什么是地图投影目的种类等角投影的分类墨卡托投影Web 墨卡托投影 参考小结 为了更好地展示地球上的数据&#xff0c;需要将地球投影到一个平面上。地图投影是一个数学问题&#xff0c;按照一定的几何关系&#xff0c;将地球上的经纬度坐标映射到一个平面上的坐标。地球…

c++里 父类私有的虚函数,也是可以被子类重写和继承的。但父类私有的普通函数,子类无法直接使用

谢谢 。今天看课本上有这么个用法&#xff0c;特测试一下。这样就也可以放心的把父类的私有函数列为虚函数了&#xff0c;或者说把父类的虚函数作为私有函数了。 再补充一例&#xff1a;

用Nuitka打包 Python,效果竟如此惊人!

目录 为什么选择Nuitka&#xff1f; Nuitka的工作原理 Nuitka的工作流程大致如下&#xff1a; 安装Nuitka 实战案例 示例代码 打包程序 运行可执行文件 进阶技巧 优化选项 多文件项目 打包第三方库 使用Python开发一个程序后&#xff0c;将Python脚本打包成独立可执…

小红书xs-xt解密

在进行小红书爬虫的时候,有一个关键就是解决动态密文的由来 这边用atob对X-S密文进行解密 可以看到他是一个字符串 可以发现他本来是一个json对象,因为加密需要字符串,所以将json对象转化 为了字符串 而在js中,常用JSON.stringify进行json对象到字符串的转化。 这边将JS…

无版权图片素材搜索网站,解决无版权图片查找问题

在数字内容创作领域&#xff0c;图片素材的选择至关重要。一张高质量、合适的图片不仅能够吸引读者的眼球&#xff0c;还能有效传达信息。然而&#xff0c;找到既免费又无版权限制的图片素材并非易事。小编将为大家介绍几个解决这一问题的无版权图片素材搜索网站&#xff0c;这…

第19章 大数据架构设计理论与实践

19.1 传统数据处理系统存在的问题 海量数据的&#xff0c;数据库过载&#xff0c;增加消息队列、甚至数据分区、读写分离、以及备份以及传统架构的性能的压榨式提升&#xff0c;都没有太明显的效果&#xff0c;帮助处理海量数据的新技术和新架构开发被提上日程。 19.2 大数据处…

国产MCU芯片(2):东软MCU概览及触控MCU

前言: 国产芯片替代的一个主战场之一就是mcu,可以说很多国内芯片设计公司都打算或者已经在设计甚至有了一款或多款的量产产品了,这也是国际大背景决定的。过去的家电市场、过去的汽车电子市场,的确国产芯片的身影不是很常见,如今不同了,很多fabless投身这个行业,一种是…

性能测试并发量评估新思考:微服务压力测试并发估算

性能测试并发量评估新思考 相信很多人在第一次做压力测试的时候&#xff0c;对并发用户数的选择一直有很多的疑惑&#xff0c;那么行业内有一些比较通用的并发量的计算方法&#xff0c;但是这些方法在如今微服务的架构下多少会有一些不适合&#xff0c;下面的文章我们对这些问题…

从0开始C++(三):构造函数与析构函数详解

目录 构造函数 构造函数的基本使用 构造函数也支持函数重载 构造函数也支持函数参数默认值 构造初始化列表 拷贝构造函数 浅拷贝和深拷贝 析构函数 总结 练习一下ヽ(&#xffe3;▽&#xffe3;)&#xff89; 构造函数 构造函数的基本使用 构造函数是一种特殊的成…

不知道怎么下载原版系统,这几个原版系统下载网站可以帮你

电脑是我们日常办公生活中必备不可少的设备&#xff0c;无论是个人使用还是企业部署&#xff0c;拥有一个稳定、安全且纯净的操作系统对于保障数据安全和提升使用体验至关重要。然而&#xff0c;网络上充斥着各种二次打包的系统版本&#xff0c;这些版本往往携带了第三方软件或…

班古精准营养X朗格力:教你如何应对慢阻肺

#肺科营养#朗格力#班古营养#复合营养素#肺部营养#肺部健康# 肺是除皮肤外人体中唯一直接与外界联系的器官。一副好肺,能为身体供应充足的氧气,使生命动力更足,人体免疫力、自愈力更强。肺好,生命动力就足,保肺就是保命!但有不少人却没能拥有健康的肺,而是患上了慢阻肺。 专家指…

国外创意二维码活动:喜力Heineken助力爱尔兰濒临倒闭酒吧转型博物馆?

今天分享一个很有意思的国外二维码活动案例。爱尔兰酒馆拥有非常悠久的历史&#xff0c;闻名于世界。但是因为经营成本、税收等的不断增加&#xff0c;自2005年起&#xff0c;四分之一的爱尔兰酒吧相继关闭&#xff0c;这其中包括拥有1229年历史的世界上最古老的酒吧。 于是&a…

Hi3861 OpenHarmony嵌入式应用入门--点灯

本篇实现对gpio的控制&#xff0c;通过控制输出进行gpio的点灯操作。 硬件 我们来操作IO2&#xff0c;控制绿色的灯。 软件 GPIO API API名称 说明 hi_u32 hi_gpio_deinit(hi_void); GPIO模块初始化 hi_u32 hi_io_set_pull(hi_io_name id, hi_io_pull val); 设置某个IO…

用群辉NAS打造影视墙(Video Station篇)

目录 一、群辉套件Video Station 1、安装 2、进入系统 3、配置刮削器 4、获取TMDB网站API密钥 5、配置DNS (1)开启SSH (2)使用终端工具连接到NAS (3)修改hosts文件 (4)再次测试连接 6、设置目录 二、手机端APP设置 三、电视端APP 四、解决影视信息错误 N…

TikTok API接口——获取TikTok用户QRcode二维码

一、引言 在数字化时代&#xff0c;QRcode二维码已经成为连接线上线下的重要桥梁。在社交媒体领域&#xff0c;TikTok作为短视频领域的佼佼者&#xff0c;用户量庞大且活跃度高。为了满足用户之间更便捷的互动需求&#xff0c;我们特别开发了一款针对TikTok平台的接口&#xf…

MATLAB神经网络---lstmLayer(LSTM 长短期记忆神经网络)

前言 描述LSTM就要先描述一下循环神经网络 循环神经网络 循环神经网络通过使用带自反馈的神经元&#xff0c;使得网络的输出不仅和当前的输入有关&#xff0c;还和上一时刻的输出相关&#xff0c;于是在处理任意长度的时序数据时&#xff0c;就具有短期记忆能力。 如下是一个…

内存优化技巧:让数据处理更高效

Pandas无疑是我们数据分析时一个不可或缺的工具&#xff0c;它以其强大的数据处理能力、灵活的数据结构以及易于上手的API赢得了广大数据分析师和机器学习工程师的喜爱。 然而&#xff0c;随着数据量的不断增长&#xff0c;如何高效、合理地管理内存&#xff0c;确保Pandas Da…