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 相关文章推荐
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
Jun 28 Javascript
document.documentElement和document.body区别介绍
Sep 16 Javascript
使用javascript做的一个随机点名程序
Feb 13 Javascript
关于vue-router路径计算问题
May 10 Javascript
详解webpack打包vue时提取css
May 26 Javascript
axios中cookie跨域及相关配置示例详解
Dec 20 Javascript
Vue.js最佳实践(五招助你成为vuejs大师)
May 04 Javascript
angular 组件通信的几种实现方式
Jul 13 Javascript
微信小程序url传参写变量的方法
Aug 09 Javascript
简述ES6新增关键字let与var的区别
Aug 23 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
Sep 21 Javascript
从Node.js事件触发器到Vue自定义事件的深入讲解
Jun 26 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中jpgraph类库的使用介绍
2013/08/08 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
Yii框架ACF(accessController)简单权限控制操作示例
2019/04/26 PHP
jquery load事件(callback/data)使用方法及注意事项
2013/02/06 Javascript
理解Javascript闭包
2013/11/01 Javascript
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
js window对象属性和方法相关资料整理
2015/11/11 Javascript
原生js实现addclass,removeclass,toggleclasss实例
2016/11/24 Javascript
jQuery中on方法使用注意事项详解
2017/02/15 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
Python读写Json涉及到中文的处理方法
2016/09/12 Python
Python及PyCharm下载与安装教程
2017/11/18 Python
python实现简易通讯录修改版
2018/03/13 Python
python3+PyQt5使用数据库窗口视图
2018/04/24 Python
python 批量解压压缩文件的实例代码
2019/06/27 Python
Python之pymysql的使用小结
2019/07/01 Python
python移位运算的实现
2019/07/15 Python
CSS3中线性颜色渐变的一些实现方法
2015/07/14 HTML / CSS
CSS3关于z-index不生效问题的解决
2020/02/19 HTML / CSS
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
荷兰浴室和卫浴网上商店:Badkamerxxl.nl
2020/10/06 全球购物
金融专业个人的自我评价
2013/10/18 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
委托书样本
2014/04/02 职场文书
团队精神的演讲稿
2014/05/14 职场文书
广告设计专业毕业生自我鉴定
2014/09/27 职场文书
县政府班子个人对照检查材料
2014/10/05 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
机器人瓦力观后感
2015/06/12 职场文书
2015年秋季运动会前导词
2015/07/20 职场文书
新教师2015年度工作总结
2015/07/22 职场文书
事业单位工作人员2015年度思想工作总结
2015/10/15 职场文书
详解Python描述符的工作原理
2021/06/11 Python