ECMAScript中的条件控制语句:if和switch

一、代码的执行顺序

在说条件控制语句之前,先了解代码的执行顺序:

代码的执行:

            1.顺序结构:从上往下依次执行

            2.分支结构:根据条件的结果控制语句的执行 if switch

            3.循环结构:循环执行代码,知道循环结束(跳出循环) while for

二、if语句

注意:每个分支条件必须是相互不包含的(互斥)

语法:(布尔表达式是指表达式结果的布尔值是true还是false)

         if(布尔表达式){//布尔表达式为真 则执行代码块1

             代码块1

         }

         else if(布尔表达式){//else if 没有个数限制,并且布尔表达式为真时,执行代码块2

             代码块2

         }

         else{

             代码块3

         }

举例:输入一个数字,数字小于十的时候返回:"输入的数字不大于十",在10-20之间返回:"输入数字在10-20之间",大于二十的时候返回:"输入的数字大于二十"

    var num1 = prompt("请输入一个数字")
        if (num1 < 10) {
            console.log("输入的数字不大于十");
        }
        else if (num1 <= 20) {
            console.log("输入数字在10-20之间");
        }
        else {
            console.log("输入的数字大于二十");
        }

三、switch语句

注意:会根据表达式的值去匹配case的值,匹配成功才会执行,全部匹配失败则执行default,case相当于是提供了入口,break相当于是提供了一个出口,当没有break的时候,进入case之后就会从上往下执行,直到遇见break结束

语法:(布尔表达式是指表达式结果的布尔值是true还是false)

        switch(布尔表达式){

            case 值或表达式:

                代码块;

                break;

            case 值或表达式:

                代码块;

                break;

            case 值或表达式:

                代码块;

                break;

            default:

                代码块;

                break;

          }

举例:输入一个月份,输入为1、2、3的时候返回:春天,输入为4、5、6的时候返回:夏天、

            输入为 7、8、9的时候返回:秋天,输入为10、11、12的时候返回:冬天。

         var month = prompt("请输入月份")/1;
        // case相当于是一个入口,break是提供一个出口
        //程序会从上往下执行
        switch (true) {
    //当case中的值和switch中的值完全相等,才能匹配成功,比如:此时switch中填的是month就不会执行
            case month==1||month==2||month==3://返回的是布尔值
                alert("春天");
                break;
            case month==4||month==5||month==6:
                alert("夏天");
                break;
    //当没有break的时候,进入case之后就会从上往下执行,直到遇见break结束
            case month==7||month==8||month==9:
                alert("秋天");
                break;
            case month==10||month==11||month==12:
                alert("冬天");
                break;
            default:
                alert("qqq")
        }

练习1:输入1-10整数,判断合法与否

        var num = prompt("请输入整数,判断合法与否");
        if (num % 1 === 0 && num >= 1 && num <= 10) {
            console.log("输入合法");
        }
        else {
            console.log("输入不合法");

        }

练习2:输入整数,判断奇数还是偶数

        var num2 = prompt("请输入整数,判断奇数还是偶数") / 1;
        if (num2 % 2 == 0) {
            console.log("偶数");
        }
        else {
            console.log("奇数");

        }

练习3:输入两个数数字比较大小

        var a1 = prompt("请输入一个数字(比较大小)") / 1;
        var a2 = prompt("请输入一个数字(比较大小)") / 1;
        if (a1 > a2) {
            console.log(a1 + "大于" + a2);
        }
        else if (a1 < a2) {
            console.log(a1 + "小于" + a2);
        }
        else {
            console.log(a1 + "=" + a2);
        }

练习4:输入年份判断是不是闰年

        var year = prompt("请输入年份") / 1;
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
            console.log("今年是闰年");
        }
        else {
            console.log("今年是平年");
        }

练习5: 输入月份,弹出输入月份的天数

        var month = prompt("输入月份") / 1;
        switch (month) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                alert("这个月31天")
                break;
            case 2:
                alert("这个月28天")
                break;
            default:
                alert("这个月30天")
                break;
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值