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插件开发示例代码
Nov 06 Javascript
js实现从中间开始往上下展开网页窗口的方法
Mar 02 Javascript
jQuery插件PageSlide实现左右侧栏导航菜单
Apr 12 Javascript
jQuery实现两个select控件的互移操作
Dec 22 Javascript
vue-cli中的babel配置文件.babelrc实例详解
Feb 22 Javascript
Vue实现PopupWindow组件详解
Apr 28 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
Jul 10 Javascript
Vue实现用户自定义字段显示数据的方法
Aug 28 Javascript
浅谈vue限制文本框输入数字的正确姿势
Sep 02 Javascript
vue实现select下拉显示隐藏功能
Sep 30 Javascript
React中获取数据的3种方法及优缺点
Feb 18 Javascript
ztree+ajax实现文件树下载功能
May 18 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
15种PHP Encoder的比较
2007/04/17 PHP
discuz authcode 经典php加密解密函数解析
2020/07/12 PHP
PHP安全防范技巧分享
2011/11/03 PHP
PHPAnalysis中文分词类详解
2014/06/13 PHP
php链表用法实例分析
2015/07/09 PHP
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
NodeJS学习笔记之FS文件模块
2015/01/13 NodeJs
jquery获取多个checkbox的值异步提交给php
2015/07/07 Javascript
jquery分页插件jquery.pagination.js使用方法解析
2016/04/01 Javascript
AngularJS入门教程引导程序
2016/08/18 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
JS实现太极旋转思路分析
2016/12/09 Javascript
Async Validator 异步验证使用说明
2017/07/03 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
2018/05/08 Javascript
JavaScript使用math.js进行精确计算操作示例
2018/06/19 Javascript
js实现选项卡效果
2020/03/07 Javascript
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
Python中使用logging模块打印log日志详解
2015/04/05 Python
Python 操作文件的基本方法总结
2017/08/10 Python
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
jupyter notebook 中输出pyecharts图实例
2020/04/23 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
Python json解析库jsonpath原理及使用示例
2020/11/25 Python
python爬取youtube视频的示例代码
2021/03/03 Python
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
Delphi软件工程师试题
2013/01/29 面试题
会计电算化学生个人的自我评价
2014/02/08 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
副处级干部考察材料
2014/05/17 职场文书
小学综合实践活动总结
2014/07/07 职场文书
怒海潜将观后感
2015/06/11 职场文书
动画《平凡职业成就世界最强》宣布制作OVA
2022/04/01 日漫
基于Python实现对比Exce的工具
2022/04/07 Python