JavaScript 如何减少if else语句的使用

##在js开发中,如何减少if else语句的使用


情况1:

 if(a为真){
     a = a;
  }else{
     a = b;	
  }

可写成: a = a || b;

情况2:

if(a == b){
   a = c;
}else{
  a = d;
}

可写成:a = (a == b) ? a : d;
备注:三目运算里复合语句的运用(三目运算不能出现return)

(a > 0) ? (alert("11"),document.title="22") : alert("33");

###情况3:后端返回数据,前端根据状态进行不同操作

$.ajax().done(function(data){
  if(data.status == 'success'){
     //TODO
  }else if(data.status == 'fail'){
    //TODO
  }else{
    //TODO
  }
});

可写成:

$.ajax().done(function(data){
  switch(data.status){
     case 'success':
       //TODO
       break;
     case 'fail':
       //TODO
       break;
     default:
      //TODO
  }
});

###情况4:根据类型给出不同的操作

function tipsTofruit(fruitType){
   if(fruitType == "苹果"){
      alert('这是苹果');
   }else if(fruitType == "梨"){
      alert('这是梨');
   }else if(fruitType == "香蕉"){
      alert('这是香蕉');
   }else{
      alert('乡下人,没见过这种水果');
   }
}

可写成:

function tipsTofruit(fruitType){
   switch(fruitType){
      case '苹果':
         alert('这是苹果');
         break;
      case '梨' :
         alert('这是梨');
         break;
      case '香蕉':
        alert('这是香蕉');
        break;
      default:
        alert('乡下人,没见过这种水果');
   }
} 

备注: case 后如果是表达式, switch(n) n设置为true
另一种的方式:(case下有较多相同的执行代码)

function tipsTofruit(fruitType){
   var data = {
       '苹果': '这是苹果',
       '梨': '这是梨',
       '香蕉': '这是香蕉'  
   }
   var flag = true;
   $.each(data,function(key){
     if(fruitType == key){
        alert(data[fruitType]);
        flag = false;
        return false;//结束遍历
     }  
   });
   if(flag){
    alert('乡下人,没见过这种水果');
   } 
}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值