分支语句及三元运算符

三元运算符

var  a = boolean? true:false
// boolean是true取true false取 false

表达式

算数表达

1-1-1

条件表达式

1-1>1

关系表达式

true && 1

运算符的执行流程

image-20230207093630026

示例

var n=20;
n++;
var i=10+29+(++n)-(n++)/10+30%7-5*3>10 && 20-15*29/18>13-(n++)/n+''+109 ? 18-(2-4)*3+undefined-true :  n-(n++)*3+false+true;
console.log(i);// -47

条件控制语句

程序控制语句 所有语言都具备,主要分为循环控制语句和条件控制语句(根据不同的条件执行不同的内容)

常用的程序控制语句

if else

允许多层嵌套 但是不建议超过2层 (为了更好的可读性,可维护性)

if(条件表达式){条件表达式为真执行}else{条件表达式为假执行}
// prompt 弹出输入框   alert 弹出框
// 只会进入第一个满足条件的分支
// 条件表达式可以是表达式也可以是值 都会被转为Boolean类型

示例:水仙花数判断

var a=Number(prompt('输入一个100-999的数'));
       var b=parseInt(a/100);
       var c=parseInt(a%100/10);
       var d=parseInt(a%10);
       if(b**3+c**3+d**3 == a && a<=999&&100<=a){
           alert('1')//153
      }else{
           alert('2')
      }

 

switch case

(空间复杂度大于if else 时间复杂度小于if else)

switch不适合用于范围比对

// 值的比对是全等(类型和值都一致) break是必要的不然会一直向下执行
// break 跳出分支
switch(值){
   case 值1: ··· break;
   case 值2: ··· break;
   case 值3: ··· break;
   case 值4: ··· break;
   case 值5: ··· break;
   case 值6: ··· break;
   default:··· 都不满足时执行;
}

示例:

/*某个空调有对应的开关 当你按下的开关键为1号键的时候 执行加热操件按下2号键 执行制冷澡作按下3号键 执行通风澡作按下的键为其他 不执行损作*/
var a = parseInt(prompt('a'));
       switch (a) {
           case 1:
               console.log(1);
               break;
           case 2:
               console.log(2);
               break;
           case 3:
               console.log(3);
               break;
           case 4:
               console.log(4);
               break;
           case 5:
               console.log(5);
               break;
           default:
               console.log('error');
               break;
      }
switch块允许多层嵌套
switch(值){
case 值1:
switch(值){
case 值1:
               break;
}
break;
······
}

示例:

判断一个输入的奇偶

var a = parseInt(prompt(''))
       switch (!isNaN(a)) {
           case true:
               switch (a % 2) {
                   case 0:
                       console.log('偶数');
                       break;
                   case 1:
                       console.log('奇数');
                       break;
              }
               break;

           case false:
           console.log(3333);
               break;
      }

switch适合实际的值的列举(枚举) if 使用范围内容条件判断

枚举相当于一个箱子 箱子里面有很多对应的值 每个值有对应的名字

posted @ 2023-02-07 19:01  ·阿皓  阅读(30)  评论(0)    收藏  举报