JavaScript的选择结构你真的了解吗?(看完这一篇就够了)

这篇具有很好参考价值的文章主要介绍了JavaScript的选择结构你真的了解吗?(看完这一篇就够了)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

JavaScript的选择结构你真的了解吗?(看完这一篇就够了),javascript入门到实战,javascript,开发语言,ecmascript

​🌈个人主页:前端青山
🔥系列专栏:JavaScript篇
🔖人终将被年少不可得之物困其一生

依旧青山,本期给大家带来JavaScript篇专栏内容:JavaScript-选择结构

目录

选择结构

实现选择结构的语句

三元(目)运算符

案例

判断一个年份是闰年还是平年

判断一个数是偶数还是奇数

判断一个数是正数还是负数

if 分支语句

单分支选择语句

案例

根据成绩判断是否发放清华大学的通知书?

输入任意两个数,然后交换位置输出(如:a=4,b=5输出a=5,b=4)

输入任意三个数,由大到小输出

双分支选择语句

案例

求两个数中的最大值?

求三个数的最大值?

输入一个成绩,判断是毕业还是挂科

多分支选择语句

案例

任意输入一个数字,判断是星期几?

判断成绩优(90-100)良(80-89)中(70-79)差(60-69)不及格(<60)

设计一个具有+、-、*、/、%的简单计算器

switch 分支语句

案例

任意输入一个数字,判断是星期几?

输入一个0-6的整数,判断哪一天是工作日,哪一天是休息日?

输入一个月份,输出这个月有多少天?

判断成绩优(90-100)良(80-89)中(70-79)差(60-69)不及格(<60)

计算某日是该年的第几天?

选择结构

用于判断给定的条件,根据条件的结果来选择执行不同的语句段。

实现选择结构的语句

  1. 三元运算符

  2. if

  3. switch

三元(目)运算符

条件?语句:语句

规则:如果条件为真,则执行?后面的语句。 如果条件为假,则执行:后面的语句。

案例

  • 判断一个年份是闰年还是平年
    <script>
        //判断一个年份是闰年还是平年
       
        一个年份? 当我们不知道这个数据的时候?问用户要?怎么要?
        1. prompt()   类型:String   需要的是数字:parseInt()  parseFloat() Number()
        //判断闰年还是平年,根据条件进行判断,选择一种结果
        //判断闰年的条件 1. 能被4整除但不能被100整除  2. 能被400整除
        能被4整除: 余数为0    0 天然为假 我们这里需要让0为真,怎么让0为真? 1. 0 === 0   2. !0
        不能被100整除: 余数不能为0   非0的数,天然为真
        i_year % 4 === 0 && i_year % 100 !== 0 || i_year % 400 === 0
        !(i_year % 4) && i_year % 100 || !(i_year % 400)
    
        //准备一个变量,接收一个年份:
        var i_year = parseInt(prompt('请输入一个年份:'));
        alert(i_year % 4 === 0 && i_year % 100 !== 0 || i_year % 400 === 0 ? '闰年' : '平年');
    </script>
  • 判断一个数是偶数还是奇数
 <script>
        //判断一个数是偶数还是奇数
   
        一个数? prompt()   parseInt()
        偶数还是奇数? 
        比如有一个数4  5
        //  0 假
        能被2整除 ? 奇数 : 偶数

        能被2整除 === 0 ? 偶数 : 奇数

        能被2整除 == 0 ? 奇数 :偶数
    
        //准备一个变量,接收一个整数:
        var i = parseInt(prompt('请输入一个整数:'));
        //判断
        alert(i % 2 ? '奇数' : '偶数');
    </script>
  • 判断一个数是正数还是负数
  <script>
        //判断一个数是正数还是负数
        一个数? prompt()  parseInt()
        正数还是负数?
        大于0 : 正数
        小于0 : 负数
        等于0 : 既不是正数,也不是负数

        i === 0 ? '既不是正数,也不是负数' : i > 0 ? '正数' : '负数'
        //准备一个变量,接收一个整数
        var i = parseInt(prompt('请输入一个整数:'));
        alert(i === 0 ? '既不是正数,也不是负数' : i > 0 ? '正数' : '负数');
    </script>

if 分支语句

单分支选择语句

if(条件){
    语句组;
}

流程:当程序执行到if时,先计算表达式的值,如果值为true,则执行后面大括号中的语句;如果值为false时,执行if语句后面的其它语句

案例

  • 根据成绩判断是否发放清华大学的通知书?
 <script>
        //根据成绩判断是否发放清华大学的通知书?
        成绩? prompt() parseInt()
        清华大学的通知书,前提条件?满足分数线? 700
        成绩 >= 700
            通知书

        单分支
        //1. 准备一个变量,接收一个成绩
        var i_score = parseInt(prompt('请输入一个成绩:'));
        //2. 判断成绩是否合格
        if( i_score >= 700 ){
            alert('祝贺你拿到清华大学的通知书!');
        }
    </script>
  • 输入任意两个数,然后交换位置输出(如:a=4,b=5输出a=5,b=4)
   <script>
        //输入任意两个数,然后交换位置输出(如:a=4,b=5输出a=5,b=4)
        输入任意两个数: prompt()  parseInt()
        交换位置: 需要一个空容器,进行交换
        //1. 准备两个变量,接收两个整数:
        var a = parseInt(prompt('请输入一个整数:'));
        var b = parseInt(prompt('请输入一个整数:'));
        //输出一次未交换的数据
        console.log('交换前:\na=' + a + '\nb=' + b);
        //交换位置
        //准备一个空变量
        var t = a;
        a = b;
        b = t;
        //输出一次交换后的数据
        console.log('交换后:\na=' + a + '\nb=' + b);
    </script>
  • 输入任意三个数,由大到小输出
 <script>
        //输入任意三个数,由大到小输出
        输入任意三个数? parInt() prompt()
        大到小输出(排序):判断
        两个数比较 a b c
        1. 确保 a 和 b 中的最大值放到 a中
            if(a < b){
                交换a 和 b 中的值
            }
        2. 确保a 和 c 中的最大值放到 a中
            if(a < c){
                交换a 和 c 中的值
            }
        3. 确保 b 和 c 中的最大值放到 b 中
            if(b < c){
                交换 b 和c中的值
            }
        //1. 准备三个变量,接收数据
        var a = parseInt(prompt('请输入一个整数:'));
        var b = parseInt(prompt('请输入一个整数:'));
        var c = parseInt(prompt('请输入一个整数:'));
        //2. 确保 a 和 b 中的最大值放到 a中
        if(a < b){
            var t = a;
            a = b;
            b = t;
        }
        //3. 确保a 和 c 中的最大值放到 a中
        if(a < c){
            var t = a;
            a = c;
            c = t;
        }
        //4. 确保 b 和 c 中的最大值放到 b 中
        if(b < c){
            var t = b;
            b = c;
            c = t;
        }
        //5. 输出结果
        console.log(a,b,c);
    </script>

双分支选择语句

if(条件){
    语句组;
}else{
    语句组;
}

流程:当程序执行到if时,先计算表达式的值,值为true时:执行if后面语句组;值为false时,执行else后的语句组。

案例

  • 求两个数中的最大值?
  <script>
        求两个数中的最大值?
        两个数? prompt() parseInt()
        最大值 一条件,两个结果,使用双分支

        //1. 准备两个变量,接收数据
        var i = parseInt(prompt('请输入一个整数:'));
        var j = parseInt(prompt('请输入一个整数:'));
        //2. 选择语句(双分支)
        if( i > j ){
            alert(i);
        }else{
            alert(j);
        }
    </script>
  • 求三个数的最大值?
<script>
        求三个数的最大值?
三个数? prompt() parseInt()
最大值? 两两比较最为简单  a b c 
1. 求出a和b中的最大值,放到一个新的变量中。max
2. 如果c > max,则将c的值存放到max中
        //1. 准备变量
        var a = parseInt(prompt('请输入一个整数:'));
        var b = parseInt(prompt('请输入一个整数:'));
        var c = parseInt(prompt('请输入一个整数:'));
        //最大值
        var max;
        //2. 比较前两个数,求出最大值
        if(a > b){
            max = a;
        }else{ //否则
            max = b;
        }
        //3. 比较下一个数与max,求出最大值
        if(c > max){
            max = c;
        }
        //4. 输出结果
        alert('最大值是:' + max);
    </script>
  • 输入一个成绩,判断是毕业还是挂科
  <script>
        输入一个成绩,判断是升班还是重修
        成绩 prpmpt() parseInt()
        升班还是重修? 及格分数线:90
        一个条件 (成绩 >= 90)    ‘毕业'  '挂科'  双分支
        //1. 准备一个变量
        var i_score = parseInt(prompt('请输入一个成绩:'));
        //2. 判断
        if( i_score >= 90 ){
            alert('毕业');
        }else{
            alert('挂科');
        }
    </script>

多分支选择语句

if(条件1){
    语句组1;
}else if(条件2){
    语句组2;
}
……
}else if(条件n){
    语句组n;
}else{
    语句组n + 1;
}

流程:当程序执行到if时,先判断条件1的值,值为true时,执行语句组1;值为false时,再判断条件2的值,值为true时,执行语句组2;值为false时,再判断条件3的值,依此类推,直到判断条件n的值,值为true时,执行语句组n,值为false时,执行语句组n+1;文章来源地址https://www.toymoban.com/news/detail-760547.html

案例

  • 任意输入一个数字,判断是星期几?
  <script>
        任意输入一个数字,判断是星期几?
        一个数字: prompt() parseInt()
        1 2 3 4 5 6 7   多条件   多结果   多分支
        //准备一个变量
        var i = parseInt(prompt('请输入1~7中的整数:'));
        //判断
        if(i === 1){
            alert('星期一');
        }else if(i === 2){
            alert('星期二');
        }else if(i === 3){
            alert('星期三');
        }else if(i === 4){
            alert('星期四');
        }else if(i === 5){
            alert('星期五');
        }else if(i === 6){
            alert('星期六');
        }else if(i === 7){
            alert('星期日');
        }else{
            alert('请输入1~7中的整数!');
        }
    </script>
  • 判断成绩优(90-100)良(80-89)中(70-79)差(60-69)不及格(<60)
  <script>
        判断成绩优(90-100)良(80-89)中(70-79)差(60-69)不及格(<60)
        成绩 : prompt()  parseInt()
        90-100 : score >= 90 && score <= 100
        80-89:   score >= 80 && score < 90
        70-79:   score >= 70 && score < 80
        60-69:   score >= 60 && score < 70
        <60:     score < 60
        多分支
        //1. 准备一个变量
        var score = parseInt(prompt('请输入一个成绩:'));
        //2. 根据成绩进行判断
        if(score < 0 || score > 100){
            alert('一边儿玩去!');
        }else{
            if(score >= 90 && score <= 100){
                alert('优');
            }else if(score >= 80){
                alert('良');
            }else if(score >= 70){
                alert('中');
            }else if(score >= 60){
                alert('差');
            }else{
                alert('不及格');
            }
        }
       
    </script>
  • 设计一个具有+、-、*、/、%的简单计算器
    <script>
        设计一个具有+、-、*、/、%的简单计算器
        准备变量:3个 第一个接收数字   第二个接收运算符  第三个接收数字  prompt() parseInt()
        根据运算符进行判断
        +、-、*、/、%   多条件 多结果  多分支
        //1. 准备变量
        //1.1 第一个数字
        var i = parseInt(prompt('请输入第一个整数:'));
        //1.2 运算符
        var ch = prompt('请输入一个算术运算符:');
        //1.3 第二个数字
        var j = parseInt(prompt('请输入第二个整数:'));
        //2. 根据运算符进行判断
        if(ch === '+'){
            alert(i + '+' + j + '=' + (i + j));
        }else if(ch === '-'){
            alert(i + '-' + j + '=' + (i - j));
        }else if(ch === '*'){
            alert(i + '*' + j + '=' + i * j);
        }else if(ch === '/'){
            alert(j === 0 ? '除数不能为零!' : i + '/' + j + '=' + (i / j).toFixed(2));
        }else if(ch === '%'){
            alert(j === 0 ? '除数不能为零!' : i + '%' + j + '=' + i % j);
        }else{
            alert('请输入一个正确的算术运算符!');
        }
    </script>

switch 分支语句

switch(表达式){
    case 表达式 : 语句组; [break;]
    case 表达式 : 语句组; [break;]
    ……
    case 表达式 : 语句组; [break;]
    [default : 语句组;]
}
规则:先计算switch后的表达式的值,如果这个值与 某个case后表达式的值 相同时,则执行这个case后面的语句组,如果语句组后有break,则直接跳出switch语句。如果没有break,则继续执行后面所有的语句组,直到遇到break或右大括号停止。

案例

  • 任意输入一个数字,判断是星期几?
  <script>
        任意输入一个数字,判断是星期几?
        数字
        7个条件,每一个条件对应一个结果
        //1. 准备一个变量
        var i = parseInt(prompt('请输入一个1~7中的整数:'));
        //2. 根据这个整数进行判断
        switch(i){
            case 1 : console.log('星期一'); break;
            case 2 : console.log('星期二'); break;
            case 3 : console.log('星期三'); break;
            case 4 : console.log('星期四'); break;
            case 5 : console.log('星期五'); break;
            case 6 : console.log('星期六'); break;
            case 7 : console.log('星期日'); break;
            default : console.log('输入错误!');
        }
    </script>
  • 输入一个0-6的整数,判断哪一天是工作日,哪一天是休息日?
   <script>
        输入一个0-6的整数,判断哪一天是工作日,哪一天是休息日?
        输入一个0-6的整数 prompt() parseInt()
        工作日:  1 2 3 4 5
        休息日: 6 7
       //1. 准备一个变量
       var i = parseInt(prompt('请输入0~6中的整数:'));
       //2. 根据这个整数进行判断
       switch(i){
            case 1 : 
            case 2 : 
            case 3 : 
            case 4 : 
            case 5 : console.log('工作日'); break;
            case 6 : 
            case 0 : console.log('休息日'); break;
            default : console.log('末日'); break;
       }
    </script>
  • 输入一个月份,输出这个月有多少天?
  <script>
        输入一个月份,输出这个月有多少天?
        一个月份 : prompt() parseInt()
        1  3  5  7 8 10  12   (31)
        4  6 9  11   (30)
        2  闰年(29)  平年(28)
        //1.  准备一个变量
        var i_month = parseInt(prompt('请输入一个月份:'));
        //2. 根据月份进行判断
        switch(i_month){
            case 1 : 
            case 3 : 
            case 5 : 
            case 7 : 
            case 8 : 
            case 10 : 
            case 12 : alert('31天');break;
            case 4 : 
            case 6 : 
            case 9 : 
            case 11 : alert('30天'); break;
            case 2 :   
                //准备变量,接收年份
                var i_year = parseInt(prompt('请输入一个年份:'));
                alert(!(i_year % 4) && i_year % 100 || !(i_year % 400) ? '29天' : '28天');
        }

        /*
            1. 能被4整除
              0 (假) 想办法让0变为真   0 == 0  0 === 0  !0
            i % 4
            2. 不能被100整除
            i % 100   结果是一个不为0的数 本身就是真  
        */
    </script>
  • 判断成绩优(90-100)良(80-89)中(70-79)差(60-69)不及格(<60)
    <script>
        判断成绩优(90-100)良(80-89)中(70-79)差(60-69)不及格(<60)
        成绩 : prompt()  parseInt()
                                        10 优
        90-100 : 90  91  92  93  99     9  优
        80-89:   80  81  82  83  89     8  良
        70-79:   70 ~79                 7  中
        60-69:   60 61  69              6  差
        <60:     

        多分支
        //1. 准备一个变量
        var score = parseInt(prompt('请输入一个成绩:'));
        //2. 根据成绩进行判断
        if(score < 0 || score > 100){
            alert('一边儿玩去!');
        }else{
           switch(parseInt(score / 10)){
                case 10 : 
                case 9 : alert('优'); break;
                case 8 : alert('良'); break;
                case 7 : alert('中'); break;
                case 6 : alert('差'); break;
                default : alert('不及格');
           }
        }
       
    </script>
  • 计算某日是该年的第几天?
<script>
        计算某日是该年的第几天?
        1. 需要哪些变量?
         年  月   日

         根据月份
         从当前月份的之前月份开始加
         2022、11、30
         10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 日
         2022、3、1
         2 + 1 + 日
        //1. 准备变量
        //1.1 年
        var year = parseInt(prompt('请输入一个年份:'));
        //1.2 月
        var month = parseInt(prompt('请输入一个月份:'));
        //1.3 日
        var date = parseInt(prompt('请输入日:'));
        //1.4 总天数
        var sum = 0;
        //2. 根据月份判断 (从当前月的 ***前面*** 所有月份天数的和)
        switch(month){  // 12月20日 
            case 12 : sum += 30;  //(30是11月份的天数) sum = 0 + 30  30
            case 11 : sum += 31; //(31是10月份的天数)  sum = 30 + 31
            case 10 : sum += 30;  //(30是9月份的天数) sum = 61 + 30
            case 9 : sum += 31;   // sum = 91 + 31
            case 8 : sum += 31;   // sum = 122 + 31
            case 7 : sum += 30;   // sum = 153 + 30
            case 6 : sum += 31;  // sum = 183 + 31
            case 5 : sum += 30;  // sum = 214 + 30
            case 4 : sum += 31;  // sum = 244 + 31
            case 3 : sum += !(year % 4) && year % 100 || !(year % 400) ? 29 : 28;      // sum = 275 + 28
            case 2 : sum += 31;  // sum = 303 + 31
            case 1 : sum += date; // sum = 334 + 20  sum = 354
        }
        //3. 输出结果
        alert(year + '年' + month + '月' + date + '日是' + year + '年中的第' + sum + '天');
       
    </script>

到了这里,关于JavaScript的选择结构你真的了解吗?(看完这一篇就够了)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 黑客入门教程(非常详细)从零基础入门到精通,看完这一篇就够了

    想要成为黑客,却苦于没有方向,不知道从何学起,下面这篇 黑客入门 教程可以帮你实现自己的黑客梦想,如果想学,可以继续看下去,文章有点长,希望你可以耐心看到最后 1、 Web安全相关概念(2周)  ·熟悉基本概念(SQL注入、上传、XSS、 、CSRF、一句话木马等)。 通过

    2024年02月03日
    浏览(50)
  • Flask入门教程(非常详细),从零基础入门到精通,看完这一篇就够了

    目录 Flask入门 运行方式 URL与函数的映射(动态路由) PostMan的使用 查询参数的获取 上传文件 其它参数 url_for 函数 响应-重定向 响应-响应内容 响应-自定义响应 Flask模板 模板介绍 模板的使用 模板-传参 模板使用url_for函数 过滤器介绍 Jinja模板自带过滤器 流程控制-选择结构 流程

    2024年02月05日
    浏览(130)
  • Spark入门教程(非常详细)从零基础入门到精通,看完这一篇就够了

    文章目录 引言 1. Spark 基础 1.1 Spark 为何物 1.2 Spark VS Hadoop 1.3 Spark 优势及特点 1.3.1 优秀的数据模型和丰富计算抽象 1.3.2 完善的生态圈-fullstack 1.3.3 spark的特点 1.4 Spark 运行模式 2. Spark Core 2.1 RDD详解 2.1.1 RDD概念 2.1.2 RDD属性 2.1.3 RDD API 2.1.3.1 RDD 的创建方式 2.1.3.2 RDD 算子 2.1.4 RDD

    2024年02月04日
    浏览(59)
  • Python入门教程(非常详细)从零基础入门到精通,看完这一篇就够了

    本文罗列了了python零基础入门到精通的详细教程,内容均以知识目录的形式展开。 Typora软件下载 Typora基本使用 Typora补充说明 编程与编程语言 计算机的本质 计算机五大组成部分 计算机三大核心硬件 操作系统 文件的概念 计算机内部数据原理 编程语言发展史 编程语言的分类

    2023年04月19日
    浏览(64)
  • Vmware下载安装教程(非常详细)从零基础入门到精通,看完这一篇就够了

    目录 一、什么是虚拟机 二、VMware的简介 1、大概介绍 2、详细介绍 三、VMware下载 1、官网下载地址 2、打开官网,选择合适的进行下载 四、VMware安装 五、使用VMware新建虚拟机 1、创建新的虚拟机 2、选择典型,也可以自定义 3、安装程序光盘映像文件(iso) 4、下载Linux ISO镜像

    2024年02月07日
    浏览(60)
  • Python常用基础语法知识点大全合集,看完这一篇文章就够了

    Python 是一门独特的语言,快速浏览一下他的要点: 面向对象:每一个变量都是一个类,有其自己的属性(attribute)与方法(method)。 语法块:用缩进(四个空格)而不是分号、花括号等符号来标记。因此,行首的空格不能随意书写。 注释:行内用“#”号,行间注释写在两

    2023年04月22日
    浏览(59)
  • Golang入门教程(非常详细)从零基础入门到精通,看完这一篇就够了

    文章目录 一、golang 简介 1. go 语言特点 2. go 语言应用领域 3. 使用 go 语言的公司有哪些 二、安装 golang 1. golang 下载安装 2. 配置环境变量 三、golang 开发工具 1. 安装 VSCode 2. 下载所需插件 四、第一个 golang 应用 1. main 包的含义 2. 示例 Go 是一个开源的编程语言,它能让构造简单

    2024年02月04日
    浏览(42)
  • Xcode安装与配置(非常详细)从零基础入门到精通,看完这一篇就够了

    安装Xcode Xcode需要macOS系统上安装,截止到2020年1月31日,最新版本为11.3.1。你可以选择在苹果开发者网站下载Xcode安装文件或去苹果应用市场安装,无论哪种方式安装Xcode,都需要有一个自己的Apple ID,具体的申请注册流程可以浏览苹果官网点这里。 macOS App Store的Xcode下载界面

    2024年01月21日
    浏览(44)
  • Vim安装与配置教程(非常详细)从零基础入门到精通,看完这一篇就够了

    目录 一、Vim检测是否安装 二、Vim安装过程 三、Vim配置 四、Vim日常使用命令 五、关于apt与apt-get 1-正常模式 2-命令模式 3-插入模式 apt命令 等同命令 命令解释 apt install apt-get install 安装软件包 apt remove apt-get remove 删除软件包 apt purge apt-get purge 删除软件包及其配置文件 apt upda

    2024年02月09日
    浏览(53)
  • Mysql的安装配置教程(非常详细)从零基础入门到精通,看完这一篇就够了

    首先简单概述分为几个步骤: 一、下载Mysql 二、安装Mysql 三、验证Mysql安装是否成功 四、 配置环境变量 五、验证配置环境变量是否成功 一、下载Mysql 要在Windows或Mac上安装MySQL,首先从MySQL官方网站下载最新的MySQL Community Server版本: 官网:https://www.mysql.com/ 1.首先进入官网页面

    2024年02月05日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包