JS流程控制

本文详细介绍了JavaScript中的流程控制,包括顺序控制、分支控制的if语句和switch语句,以及三元表达式。讲解了if、if...else、if...elseif...else的用法,并对比了switch与if...else的差异。通过实例展示了如何根据用户输入判断时间阶段、数值最大值、奇偶性、星期几和金钱分配等,帮助读者掌握条件判断在实际编程中的应用。
摘要由CSDN通过智能技术生成

一.流程控制

  • 在代码执行的过程中,各个代码执行的顺序对结果是有直接影响的,很多时候我们要通过控制代码执行的顺序来完成我们的功能(简单理解就是流程控制来控制我们代码按照什么方式来执行)

  • 流程控制一共有三种结构,分别是顺序结构分支结构循环结构。这三种结构代表三种代码执行的顺序

    在这里插入图片描述

二.顺序流程控制

  • 顺序流程控制是最简单的 就是从上往下依次执行

三.分支流程控制if语句

1.分支结构

  • 由上到下执行代码过程中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果。
  • JS语言提供了俩种分支结构语句1.if语句 2.switch语句

2.if 语法结构

    <script>
        // 1.if的语法结构 if如果的意思
        if (条件表达式 返回的值是布尔值 ) {
            // 执行语句
        }
        // 2.执行思路:如果if条件表达式为 真 则执行大括号里面的语句 如果if条件表达式为 假 则不执行里面语句直接跳过,执行if下面语句。这里的语句可以理解为一个行为把就是做了什么事情,可以做很多很多行为
    </script>

在这里插入图片描述

3.if else (双分支语句)语法结构

    <script>
        // 1.语法结构 if 如果  else 否则
        if (条件表达式) {
            // 满足条件时,执行的语句
        } else {
            // 不满足条件时,执行的语句
        }
        // 2.执行思路 如果 if 条件表达式为真则执行语句1 否则语句2
        // if里面的语句1 和else里面的语句2 最终只能执行一个语句
        3.注意else后面不跟小括号
    </script>

在这里插入图片描述

4.if else if (多分支语句)语法结构

    <script>
        //  1.多分支语句 就是用来利用多个条件来选择不同的z语句执行 得到的结果不同 实现多选一的过程
        //  if else if 语法结构
        if (条件表达式1) {
            // 执行语句1
        } else if (条件表达式2) {
            // 执行语句2
        } else if (条件表达式3) {
            // 执行语句3
        } else {
            // 最后的语句
        }
        // 2.执行思路 如果条件表达式 1 满足条件 就执行 语句1 执行完毕后,退出整个if语句
        // 如果条件表达式1 不满足条件 就执行条件表达式2 满足的话 就执行语句2.然后退出整个if语句
        // 如果都不满足则执行最后else的语句
        // 注意点 里面的表达式条件可为多个 是多选一的过程
    </script>

在这里插入图片描述

四.三元表达式

  • 三元表达式可以做一些简单的条件选择 , 三元运算符组成的称为三元表达式

语法结构

    <script>
        // 三元表达式语法结构
        // 1.条件表达式? 表达式1 : 表达式2
        // 2.执行思路 如果条件表达式为真的 则返回 1的结果 如果假的则返回 2的结果
        // 例子
        var num = 5 > 4 ? '是的' : '不是的' //表达式是有个返回值的 所以结果用个变量保存起来
        console.log(num);
    </script>

五.分支流程控制switch语句

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

语法结构

    <script>
        // 1.switch 语句 也是实现多选一的过程
        // 语法结构
        switch (表达式) {
            case value1:
                // 执行语句1
                break;
            case value2:
                // 执行语句2
                break;
            case value3:
                // 执行语句3
                break;
            default:
                // 执行最后的语句
        }
        // 2.执行思路 利用我们表达式的值 和case 后面的选项值相匹配 如果匹配上,就执行case里面的语句 如果都没有匹配上 就执行default里面的语句
        // 注意:最后的双逗号别忘记写了
        // 3.举个例子 
        var num = 3
        switch (num) {
            case 1:
                break;
            case 2:
                break;
            case 3:
                break;
            default:
                // 如果都没有执行这里面的
        }
        // 4.switch注意点
        // 我们经常吧switch里面的表达式写出变量形式
        // num里面的值和case后面的值必须是全等关系 也包括数据类型也要一致 如num===3 严格判断的
        // break(结束的意思) 如果当前的case里面没有break 则不会退出 switch继续执行下一个case 直到遇见了break才会退出
    </script>

六.switch语句和if else if语句区别

  • 一般情况下他们俩是可以互相替换的
  • switch…case语句通常处理case比较确定值得情况下,而if…else…语句更加灵活一些,常用于范围判断(大于、等与蒙个范围)
  • switch语句进行条件判断后是直接跳到相对应执行语句上的效率高一些,而if…else是一条一条进行判断的
  • 当分支比较少时,if…else语句的执行效率比switch语句高
  • 当分支比较多时,switch语句的执行效率比较高,而且结果更清晰

七.if switch语句作业

1.判断时间阶段,比如用户输入12点 弹出 中午好 用户输入18点弹出傍晚好 用户输入23点 弹出深夜好

    <script>
        // 要求 判断时间阶段 比如 12点弹出中午好 18点弹出 下午好 23点弹出 晚上好
        // 执行思路 1.首先弹出一个输入框用户输入时间段,然后用变量保存起来
        // 2.然后利用switch来判断时间段 switch里面的变量必须和case的值全等关系
        // 2.最后利用alert弹出
        var time = prompt('请输入12点、18点、23点')
        switch (time) {
            case '12点':
                alert('中午好啊,朋友')
                break;
            case '18点':
                alert('下午好啊,朋友')
                break;
            case '23点':
                alert('晚上好啊,朋友')
                break;
            default:
                alert('抱歉请你重新输入')
        }
    </script>

2.比较两个数的最大值(用户依次输入2个值,最后弹出最大的那个值)

    <script>
        // 要求用户随机输入俩个值 判断出最大的值
        // 解决思路1.先依次弹出俩个输入框 让用户输入 然后用变量保存起来
        // 2.然后把用户输入的值 用if else来判断出其中最大的值 来比较 最后弹出来
        var max = prompt('请输入第一个值')
        var min = prompt('请输入第二个值')
        if (max > min) {
            alert('你最大的值是' + max)
        } else {
            alert('你的最大值是' + min)
        }
    </script>

3.用户输入一个数,来判断是奇数还是偶数

    <script>
        // 要求 用户输入一个数判断是奇数还是偶数
        // 1.if else做法
        var num = prompt('请随机输入一个数字')
        if (num % 2 == 0) {
            alert(num + '是偶数')
        } else {
            alert(num + '是奇数')
        }
        // 2.三元表达式做法
        var num1 = prompt('请随机输入一个数字')
        alert((num1 % 2 == 0) ? '偶数' : '奇数')
    </script>

4.根据用户输入的数字(数字1到数字7),返回星期几

    <script>
        // 要求 根据用户输入的数值(1~7)返回星期几
        // 解决思路1.先弹出一个输入框用户输入数字 然后用变量保存起来
        // 2.要把用户输入的值转变为数字型的才能与case后面的匹配上 因为用户输入的是字符串型的
        // 3.最后alert弹出星期几
        var week = prompt('请随机输入一个1~7的数字')
        var week1 = parseInt(week) //这里是把用户输入的值转变为数字型
            // console.log(typeof wek1);   typeof这个是用来检测数据类型的
        switch (week1) {
            case 1:
                alert('星期一');
                break;
            case 2:
                alert('星期二');
                break;
            case 3:
                alert('星期三');
                break;
            case 4:
                alert('星期四');
                break;
            case 5:
                alert('星期五');
                break;
            case 6:
                alert('星期六');
                break;
            case 7:
                alert('星期日');
                break;
            default:
                alert('你输入的数字不对,请重新输入 谢谢!!!')
        }
    </script>

5.接收班长口袋里的钱数?若大于等于2000,请大家吃西餐,若小于2000,大于等于1500,请大家吃快餐,若小于1500,大于等于1000,请大家和饮料。若小于1000,大于等于500,请大家吃棒棒糖,否则提醒班长下次把钱带够。

    <script>
        var money = prompt('班长口袋钱是多少?')
        if (money >= 2000) {
            alert('请大家吃西餐')
        } else if (money >= 1500) {
            alert('请大家吃快餐')
        } else if (money >= 1000) {
            alert('请大家喝饮料')
        } else if (money >= 500) {
            alert('请大家吃棒棒糖')
        } else {
            alert('班长下次把钱带够')
        }
    </script>

6.分数转换,给一个分数,判断等级。大于等于80小于90 B ,大于等于70小于80 C,大于等于60小于70 D 小于60 E

    <script>
        // 要求根据ABCDE字母 来获取分数
        // 执行思路 
        // 1.从大到小来判断
        // 2.先弹出一个输出框让用户来输入 吧取过来的值用变量保存起来
        // 3.然后拿着用户输入的值用 多分支语句来判断输出不同的值
        var grade = prompt('你的成绩分是0~100')
        if (grade >= 90) {
            alert('很棒');
        } else if (grade >= 80) {
            alert('优秀')
        } else if (grade >= 70) {
            alert('良好')
        } else if (grade >= 60) {
            alert('及格')
        } else {
            alert('不及格')
        }
    </script>

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值