项目里常用的判断

第一种
if判断

if(条件1){
	// 逻辑 可以继续放置if,else,,,
}else if(条件2){
	// 逻辑
} else { // 其他条件
	// 逻辑
}

第二种
三目运算符判断三种状态

一般是 

a == 1 ? '等于1就显示这个值' : '不等于1就显示冒号后边的值'

跟后台数据对接的时候多个条件(也不能太多)
假设 后台给三种值({0:‘’},{1: ‘是’},{2: ‘否’}),
那么我们前端根据值显示对应内容。

value == 0 ? ' ' : value == 1 ? '是' : '否'  
// 解析 ,判断等于0 就直接 是  ''
// 不等于0 ,就会进行冒号后边的,但是冒号后边还有判断,就会在走一遍判断是1 就是‘ 是’
// 不是1 就是 ‘否’

三目运算符多个判断

${res.data.HOLDER_TYPE==1?'个人':(res.data.HOLDER_TYPE==2?'非金机构':'金机构')}

第三种 Switch语句

break 关键词

如果 遇到 break 关键词,它会跳出 switch 代码块。
此举将停止代码块中更多代码的执行以及 case 测试。
如果找到匹配,并完成任务,则随机中断执行(break)。无需更多测试。
break 能够节省大量执行时间,因为它会“忽略” switch 代码块中的其他代码的执行。
不必中断 switch 代码块中的最后一个 case。代码块在此处会自然结束。

default 关键词规定不存在 case 匹配时所运行的代码

switch(表达式) {
     case n:
        代码块
        break;
     case n:
        代码块
        break;
     default:
        默认代码块
}

例子判断星期

switch (new Date().getDay()) {
    case 0:
        day = "星期天";
        break;
    case 1:
        day = "星期一";
         break;
    case 2:
        day = "星期二";
         break;
    case 3:
        day = "星期三";
         break;
    case 4:
        day = "星期四";
         break;
    case 5:
        day = "星期五";
         break;
    case 6:
        day = "星期六";
} 

假设项目里我想公用一个组件,但是 路由路径返回的不一样,那用switch 比较合适
代码

  onBack = () => {
    const { push } = this.props;
    switch (this.state.type) { // 根据type传的值来判断
      case "sale":
        push('/pur/saleSettlement/definition', () => false)
        break;
      case "receipt":
        push('/pur/saleSettlement/receiptSet', () => false)
        break;
      default:
        history.go(-1);
        break;
    }
  }
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐