JS中比Switch...Case更优雅的多条件判断写法


Posted in Javascript onSeptember 05, 2019

前言

前几天,本人负责编写网站上线的环境判断功能,其中涉及到大量多条件判断的code。对于多条件判断写法,大部分程序员都是采用if...else if...else或者switch...case的写法,但是有一种多条件判断写法,比传统写法更加有趣且优雅——对象属性判断法。

实例展示

废话不多说了,下面直接用三个实例,给大家分别展示三种不同的多条件判断写法。

1. if...else if...else

function whatFood(mealtime) {
 let food = '';

 if (mealtime === 'breakfasttime') {
  food = 'egg';
 } else if (mealtime === 'lunchtime') {
  food = 'vegetable'
 } else if (mealtime === 'dinnertime') {
  food = 'fruit'
 } else {
  food = 'cookie'
 }

 return food;
}

2. switch...case

function whatFood(mealtime) {
 let food = '';

 switch (mealtime) {
  case 'breakfasttime':
   food = 'egg';
   break;
  case 'lunchtime':
   food = 'vegetable';
   break;
  case 'dinnertime':
   food = 'fruit';
   break;
  default:
   food = 'cookie';
 }

 return food;
}

3. 对象属性判断法

function whatFood(mealtime) {

 const food = {
  breakfasttime: 'egg',
  lunchtime: 'vegetable',
  dinnertime: 'fruit'
 }

 return food[mealtime] ? food[mealtime] : 'cookie';
}

总结

相信你通过上面三个实例,已经看到了不同写法孰优孰劣,如果你有更好的多条件判断写法,欢迎留言讨论,祝工作顺利,生活愉快。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
javascript之typeof、instanceof操作符使用探讨
May 19 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
Nov 17 Javascript
js获取select选中的option的text示例代码
Dec 19 Javascript
js跨域访问示例(客户端/服务端)
May 19 Javascript
jQuery事件用法实例汇总
Aug 29 Javascript
javascript中substring()、substr()、slice()的区别
Aug 30 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
Nov 18 Javascript
CSS中position属性之fixed实现div居中
Dec 14 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
Jan 16 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
Jun 27 Javascript
vue中input的v-model清空操作
Sep 06 Javascript
js用正则表达式筛选年月日的实例方法
Jan 04 Javascript
layer实现弹出层自动调节位置
Sep 05 #Javascript
vue使用i18n实现国际化的方法详解
Sep 05 #Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
Sep 05 #Javascript
一文看懂如何简单实现节流函数和防抖函数
Sep 05 #Javascript
React路由鉴权的实现方法
Sep 05 #Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
Sep 05 #Javascript
layer.open的自适应及居中及子页面标题的修改方法
Sep 05 #Javascript
You might like
PHP实现自动登入google play下载app report的方法
2014/09/23 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
JavaScript中的console.log()函数详细介绍
2014/12/29 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
原生js实现轮播图的示例代码
2017/02/20 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
2017/03/30 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
浅谈Node.js之异步流控制
2017/10/25 Javascript
浅谈vue-router2路由参数注意的问题
2017/11/08 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
微信小程序中为什么使用var that=this
2019/08/27 Javascript
解决echarts 一条柱状图显示两个值,类似进度条的问题
2020/07/20 Javascript
python选择排序算法的实现代码
2013/11/21 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
Django CSRF跨站请求伪造防护过程解析
2019/07/31 Python
Python @property使用方法解析
2019/09/17 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
2019/10/30 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
2020/03/20 Python
基于Keras中Conv1D和Conv2D的区别说明
2020/06/19 Python
python 利用jieba.analyse进行 关键词提取
2020/12/17 Python
使用Python webdriver图书馆抢座自动预约的正确方法
2021/03/04 Python
卡拉威高尔夫官方网站:Callaway Golf
2020/09/16 全球购物
代码中finally中的代码会不会执行
2012/02/06 面试题
医务人员竞聘职务自我评价分享
2013/11/08 职场文书
数据管理员的自我评价分享
2013/11/15 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
关于教师节的广播稿
2014/09/10 职场文书
初中生庆国庆演讲稿范文2014
2014/09/25 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
党员争先创优承诺书
2015/01/20 职场文书
Python实现智慧校园自动评教全新版
2021/06/18 Python