JavaScript - Day02 - 逻辑判断

一、单分支

1.语法:if(条件表达式){

                       当条件表达式的结果为true的时候要执行的代码段

              }

2.当大括号中只有一行代码时,就可以省略大括号

3.代码段可以写多行代码,包含分支结构,分支结构嵌套,隐形的逻辑运算

    var age = prompt('请输入年龄: ')
    if(age >= 18){
        console.log('可以去网吧玩');
    }

二、双分支

1.语法:if(条件表达式){

                        如果条件表达式的结果为true时要执行的代码段 

              }else{

                        如果条件表达式的结果为false时要执行的代码段

              }

2.双分支就是条件二选一

   var gender = prompt('请输入你的性别: ')
    if(gender == 'boy'){
        console.log('可以去男厕');
    }
    else{
        console.log('可以去女厕');
    }

三、多分支

1.语法:if(条件表达式1){

                        如果条件表达式的结果为true时要执行的代码段 

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

                        如果条件表达式的结果为true时要执行的代码段

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

                        如果条件表达式的结果为true时要执行的代码段

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

                        如果条件表达式的结果为true时要执行的代码段

              }

              ...

              else{

              }

2.运行顺序:

          (1)从上至下执行,如果条件达成,结果为true,剩下的都不执行

          (2)如果条件执行到条件表达式3才满足结果为true,那么前两个条件也要先走(执行)一

                   遍流程,其余就不执行了 

3.多分支就是条件多选一

    var age = prompt('请输入你的年龄: ')
    if(age <= 18){
        console.log('奖励一只小狗');
    }
    else if(age <= 40){
        console.log('奖励一个背包');
    }
    else if(age <= 60){
        console.log('奖励一张邮票');
    }
    else{
        console.log('奖励一副老花镜');
    }

四、分支结构的简写

1.语法:if() console.log; else console.log();

2.要求:当分支语句的大括号中只有一行代码时,就可以将这个大括号省略掉

var age = prompt('请输入你的年龄 :');
if(age >= 18){
    console.log('可以去网吧');
}else{
    console.log('不可以去网吧');
}

//可以简写为:
var age = prompt('请输入你的年龄 :');
if(age >= 18) console.log('可以去网吧'); else console.log('不可以去网吧');

五、分支结构的嵌套

1.语法:if(条件表达式1){

                      if(条件表达式2){}

                      else{}

              }else{

                      if(条件表达式3){}

                      else{}

              }

2. 举例:输出a,b,c最大值

    var a = 1;
    var b = 2;
    var c = 3;
    if(a > b){
        if(a > c){
            console.log(a);
        }else{
            console.log(c);
        }
        console.log()
    }else{
        if(b > c){
            console.log(b);
        }else{
            console.log(c);
        }
    }

六、if条件中的细节点

1.语法:if(语法){

              }else{

              }

2.因为if条件表达式的结果为true或false,所以可以直接将布尔值当做条件放入小括号内,如果将非布尔值的表达式放入条件小括号内,则会隐形转换类型

    if(false){
        console.log('真的');
    }else{
        console.log('假的');
    }

七、switch语句

1.语法:switch(){

                      case  数据1:

                            console.log();

                      break

                      case  数据2:

                            console.log();

                      break

                      case  数据3:

                            console.log();

                      break

                      default; ----------如果条件值与数据都不相符,则执行这条输出

              }

2.switch语句也是分支语句

3.switch只能判断多分支,只能判断全等

4.switch执行效率比 if 多分支要高 --------switch只执行对应 条件值的一次,if 需要前面条件都判断

    var n = prompt('请输入一个数字: ');
    if (isNaN(n)) {
        console.log('输入的不是数字')
    } else {
        if (n >= 1 && n <= 7) {
            switch (n) {
                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;

                default:
                    console.log('今天是休息日');
            }
        }else{
            console.log('输入的数字不在1~7范围内');
        }
    }

八、switch语句的使用注意

1.switch、case、break、default

2.default可以省略

3.switch只能判断全等,不能判断区间范围

4.关键字中break的作用是,将整个switch语句结束,可以将它省略

5.当break省略后,不在判断后面的条件,直接输出其后面最近的条件的执行结果

6.switch语句只判断一次,比多分支 if 效率高

7.使用场景:

        (1)如果判断的条件比较复杂,使用 if

        (2)条件是确定的值,分两种情况:

                        1-1.如果判断条件的分支小于等于3个,就使用 if ,这时候的效率和switch语句一样

                        1-2.如果大于3个,就使用switch

                        1-3.switch判断使用的是 全等于(===)

九、累加

1.switch的穿透写法:如果case后面不写break,那当前case执行后,会继续执行后面的case中的

                                                                                                                                                  代码


    //求数字的和
    var sum = 0;
    switch (n) {
        case 5:
            sum += 5
        case 4:
            sum += 4
        case 3:
            sum += 3
        case 2:
            sum += 2
        case 1:
            sum += 1
    }
    console.log(sum);

十、三元运算符

1.简写方法:条件 ? 条件为true时执行的代码 : 条件为false时执行的代码;

2.特点:可以将整个三元运算表达式,可以当做是一个具体的数据,进行赋值或输出

   var age = 20;
   if(age >= 18){
        console.log('玩');
   }else{
        console.log('看');
   }
   //简写为:
   var age = 20;
   age >= 18 ? console.log('玩') : console.log('看');


   //整个三元运算表达式 可以当做是一个具体的数据 进行赋值或输出
   //1-1 赋值  
   var age = 16;
   var res = age >= 18 ? console.log('玩') : console.log('看');

   //1-2 输出
   var age = 16;
   var res = age >= 18 ? '玩' : '看';
   console.log(res);
   console.log(age >= 18 ? '玩' : '看');


   //用最简短的代码求3个变量中的最大值
   var a = 4;
   var b = 5;
   var c = 3;
   var max = a>b ? a>c ? a : c : b>c ? b : c;
   console.log(max);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值