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 相关文章推荐
bgsound 背景音乐 的一些常用方法及特殊用法小结
May 11 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
Dec 16 Javascript
jquery 实现两Select 标签项互调示例代码
Sep 25 Javascript
jQuery实现简易的天天爱消除小游戏
Oct 16 Javascript
vue cli升级webapck4总结
Apr 04 Javascript
JS实现select选中option触发事件操作示例
Jul 13 Javascript
利用hasOwnProperty给数组去重的面试题分享
Nov 05 Javascript
JS事件绑定的常用方式实例总结
Mar 02 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
Aug 01 Javascript
js prototype深入理解及应用实例分析
Nov 25 Javascript
JavaScript将数组转换为链表的方法
Feb 16 Javascript
JavaScript用document.write()输出换行的示例代码
Nov 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配合jquery实现增删操作具体实例
2013/12/12 PHP
php实例分享之html转为rtf格式
2014/06/02 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
2014/07/01 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
动态为事件添加js代码示例
2009/02/15 Javascript
js中关于new Object时传参的一些细节分析
2011/03/13 Javascript
node.js实现逐行读取文件内容的代码
2014/06/27 Javascript
JavaScript中模拟实现jsonp
2015/06/19 Javascript
JS组件系列之Bootstrap Icon图标选择组件
2016/01/28 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
.net MVC+Bootstrap下使用localResizeIMG上传图片
2017/04/21 Javascript
vue组件开发之slider组件使用详解
2020/08/21 Javascript
关于element的表单组件整理笔记
2021/02/05 Javascript
[01:13]2015国际邀请赛线下观战现场
2015/08/08 DOTA
[01:51]DAC趣味视频-如何成为职业选手.mp4
2017/04/02 DOTA
用Python实现一个简单的线程池
2015/04/07 Python
使用Python生成url短链接的方法
2015/05/04 Python
Python fileinput模块使用实例
2015/05/28 Python
Python存取XML的常见方法实例分析
2017/03/21 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
2017/08/08 Python
Python3.7中安装openCV库的方法
2018/07/11 Python
python opencv判断图像是否为空的实例
2019/01/26 Python
人工神经网络算法知识点总结
2019/06/11 Python
OpenCV 轮廓检测的实现方法
2019/07/03 Python
python/golang 删除链表中的元素
2020/09/14 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
美国香薰蜡烛品牌:PADDYWAX
2018/10/06 全球购物
英国空调、除湿机和通风设备排名第一:Air Con Centre
2019/02/25 全球购物
网络维护管理员的自我评价分享
2013/11/11 职场文书
创意活动策划书
2014/01/15 职场文书
人事聘任通知
2015/04/21 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
大学生饮品店创业计划书范文
2019/07/10 职场文书
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers