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函数的等价原生函数代码示例
May 27 Javascript
jQuery插件的写法分享
Jun 12 Javascript
Js实现手机发送验证码时按钮延迟操作
Jun 20 Javascript
JS中getYear()和getFullYear()区别分析
Jul 04 Javascript
jQuery中offsetParent()方法用法实例
Jan 19 Javascript
JavaScript中创建字典对象(dictionary)实例
Mar 31 Javascript
JavaScript中length属性的使用方法
Jun 05 Javascript
jquery图片滚动放大代码分享(2)
Aug 28 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
Jan 03 Javascript
纯js实现倒计时功能
Jan 06 Javascript
js实现音乐播放控制条
Sep 09 Javascript
使用Vue写一个datepicker的示例
Jan 27 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
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
PHP 文件上传功能实现代码
2009/06/24 PHP
php 文章调用类代码
2011/08/11 PHP
PHP利用APC模块实现文件上传进度条的方法
2015/01/26 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
2011/12/20 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
jQuery实现获取元素索引值index的方法
2016/09/18 Javascript
浅谈jquery中使用canvas的问题
2016/10/10 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
element ui 对话框el-dialog关闭事件详解
2018/02/26 Javascript
[01:44]Ti10举办地公布
2019/08/25 DOTA
Python 高级专用类方法的实例详解
2017/09/11 Python
python实现数据预处理之填充缺失值的示例
2017/12/22 Python
Python hashlib模块用法实例分析
2018/06/12 Python
django实现类似触发器的功能
2019/11/15 Python
Python 私有化操作实例分析
2019/11/21 Python
Django用户身份验证完成示例代码
2020/04/03 Python
Kaufmann Mercantile官网:家居装饰、配件、户外及更多
2018/09/28 全球购物
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
狼和鹿教学反思
2014/02/05 职场文书
村干部承诺书
2014/03/28 职场文书
小学教师暑期培训方案
2014/08/28 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
平安建设汇报材料
2014/12/29 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
2015年护士长个人工作总结
2015/04/24 职场文书
2015年企业工作总结范文
2015/04/28 职场文书
dubbo服务整合zipkin详解
2021/07/26 Java/Android
python单向链表实例详解
2022/05/25 Python
Java结构型设计模式之组合模式详解
2022/09/23 Java/Android