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异步调用定时方法并停止该方法实现代码
Mar 16 Javascript
导航跟随滚动条置顶移动示例代码
Sep 11 Javascript
JQuery中两个ul标签的li互相移动实现方法
May 18 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
Oct 19 Javascript
jQuery实现底部浮动窗口效果
Sep 07 Javascript
Bootstrap面板学习使用
Feb 09 Javascript
微信小程序开发之map地图实现教程
Jun 08 Javascript
详解如何实现一个简单的Node.js脚手架
Dec 04 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
Dec 20 Javascript
使vue实现jQuery调用的两种方法
May 12 jQuery
JavaScript实现图片上传并预览并提交ajax
Sep 30 Javascript
vue实现多级菜单效果
Oct 19 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
给ECShop添加最新评论
2015/01/07 PHP
PHP中include()与require()的区别说明
2017/02/14 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
Laravel5.7 Eloquent ORM快速入门详解
2019/04/12 PHP
ext for eclipse插件安装方法
2008/04/27 Javascript
flash javascript之间的通讯方法小结
2008/12/20 Javascript
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
jquery ready函数、css函数及text()使用示例
2013/09/27 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
鼠标悬浮停留三秒后自动显示大图js代码
2014/09/09 Javascript
Bootstrap被封装的弹层
2016/07/20 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
JS实现的RGB网页颜色在线取色器完整实例
2016/12/21 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
2017/03/14 Javascript
Vue组件选项props实例详解
2017/08/18 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
2018/09/27 Javascript
js根据json数据中的某一个属性来给数据分组的方法
2018/10/08 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
2018/12/28 Javascript
Python中使用strip()方法删除字符串中空格的教程
2015/05/20 Python
Python实现多线程HTTP下载器示例
2017/02/11 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
Python时间序列处理之ARIMA模型的使用讲解
2019/04/02 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
2019/10/12 Python
浅谈图像处理中掩膜(mask)的意义
2020/02/19 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
Java TransactionAPI (JTA) 主要包含几部分
2012/12/07 面试题
费用会计岗位职责
2014/01/01 职场文书
2015年度村委会工作总结
2015/04/29 职场文书
硕士毕业答辩开场白
2015/05/27 职场文书
2019生态环境保护倡议书!
2019/07/03 职场文书
php 防护xss,PHP的防御XSS注入的终极解决方案
2021/04/01 PHP
Python中文纠错的简单实现
2021/07/07 Python
一文解答什么是MySQL的回表
2022/08/05 MySQL