js中的常见的判断(操作语句)

208 阅读2分钟

“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第12篇文章,点击查看活动详情

一、操作语句 判断语句

1、if/else if/else

只要满足其中一个条件,后面的条件就不再执行

1.1 单独一个if

var num=10;
if(num>2){
    alert("你很优秀");
}

1.2 if/else

var num=5;
if(num>0){
   alert("你好")
}else{
   alert("你坏")
}

1.3 if/else if/else  

var num=0;
if(num>0){
   alert("正数")
}else if(num<0){
   alet("负数”)
}else{
    alert(0)
}

1.4 if/ eles if   else if .../else

if 条件语句,只要满足其中一个条件,后面的条件就不再执行

 var num=6;
    if(num>0){
       num--;
       alert("1:"+num);
    }else if(num>0 && num<10){
        num++;
        alert("2:"+num);
    }else {
        num--;
    }
    console.log(num)

2、判断条件

  • && 表示并且,左右两边的条件必须同时满足
  • ||   表示或,左右两边的条件只要满足其一即可
  • 如果是单独的一个值,先把它转换成布尔类型,如果是真,条件 成立,如果假,条件不成立。

回忆其它值转换为布尔值,只有哪几种情况是false;

  • 0
  • NaN
  • null
  • “”
  • undefined
if(true){
   alert("刷碗去!")
}

if(false){
    alert("去刷剧")
}else{
   alert("去睡觉")
}

if(0){
   
}

    if(判断条件){

        条件为真时 走离着最近的大括号

        条件为假 继续向下执行

        遇到else if 就继续判断条件

        遇到else{}直接执行        

        注:最多只执行一段大括号的代码 执行完这一段直接跳出判断

    }else if(){

    }

二、三元运算符

1、【语法】:

条件?条件成立执行的语句:条件不成立执行的语句

var n = 12;
if (n >= 10) {
    console.log('哈哈');
} else {
    console.log('嘿嘿');
}

改写成三元运算符

var n = 12;
n >= 10 ? console.log('哈哈') : console.log('嘿嘿');

2、【特殊情况】

条件成立,我想做一件事情,不成立我什么不做 可以使用null/undefined/void 0{undefined}等占位

(n >= 10 && n <= 20) ? console.log('哈哈'): null;

3、【多条语句】

如果条件成立之后,想同时执行多条语句,我们可以用“小括号”把执行语句包起来,并且语句与语句之间用“逗号”进行分割

var n = 10;
if (n == 10) {
    n += 2; //n=n+2
    n *= 3; //n=n*3
}
// 如果某个处理需要做多件事,我们基于()包起来,每一个事用逗号分隔
n == 10 ? (n += 2, n *= 3) : null;

4、【思考题】

把下面的代码改成三元运算符

var num=12;
if(num>0){
   if(num<10){
     num++;
   }else{
     num--;
   }
}else{
    if(num==0){
       num++;
       num=num/10;
    }
}
三元运算符
 num>0?(num<10?num++:num--):(num==0?(num++,num=num/10):null);

把下面的三元运算符转换为if else语句

var n = 10;
n > 0 ? (n <= 10 ? n++ : n--) : (n <= -10 ? n-- : n++);
if (n > 0) {
    if (n <= 10) {
        n++;
    } else {
        n--;
    }
} else {
    if (n <= -10) {
        n--;
    } else {
        n++;
    }
} */

三、switch case 操作语句

  • 把表达式的值与每个 case 的值进行对比
  • 如果存在匹配,则执行关联代码
switch(表达式) {
     case n:
        代码块
        break;
     case n:
        代码块
        break;
     default:
        默认代码块
} 

1、[初识]

var num=6;
if(num==5){
    num++;
}else if(num==6){
    num--;
}else {
    num=0;
}

console.log(num);

把上面的改成switch case 语句

var num=6;
switch (num){
    case 5:
      num++;
      break;
    case 6:
      num--;
      break;
    default:
      num=0;    

}

console.log(num);

2、switch case 和if else 的区别

如果把上面的案例,num的值改为字符串的6,用if else  和switch case 会出现什么样的结果呢,答案是否还相同呢?

在if  else 条件判断中,两个== 进行比较的时候,如果数据类型不同,会先转换为相同的数据类型再比较

在switch case 中,条件判断 其实是三个===,绝对等于,不仅要值相同,类型也要相同,所以才会出现上面不同的情况。

3、巧用switch case 中的break

switch case 中的break 表示条件终止,如果不加break 的时候,会继续往下执行。 但是我们可以巧用这个特点,来做条件或当num等于6或者num=10 的时候,让num的值都加加

var num=6;
switch (num){
     case 6:
     case 10:    
         num++;
         break;
     default:
         num=0;    
}
console.log(num);