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 相关文章推荐
js数组如何添加json数据及js数组与json的区别
Oct 27 Javascript
轻松掌握JavaScript中的Math object数学对象
May 26 Javascript
bootstrap table复杂操作代码
Nov 01 Javascript
BootStrap整体框架之基础布局组件
Dec 15 Javascript
vue2.0实战之基础入门(1)
Mar 27 Javascript
Angular directive递归实现目录树结构代码实例
May 05 Javascript
Angular+Node生成随机数的方法
Jun 16 Javascript
JavaScript ES6中const、let与var的对比详解
Jun 18 Javascript
Bootstrap 模态框(Modal)带参数传值实例
Aug 20 Javascript
three.js实现3D影院的原理的代码分析
Dec 18 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
Mar 02 Javascript
js 计算月/周的第一天和最后一天代码
Feb 01 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学习 字符串课件
2008/06/15 PHP
php之Smarty模板使用方法示例详解
2014/07/08 PHP
PhpStorm配置Xdebug调试的方法步骤
2019/02/02 PHP
tp5.1 框架join方法用法实例分析
2020/05/26 PHP
JavaScript事件列表解说
2006/12/22 Javascript
两种WEB下的模态对话框 (asp.net或js的分别实现)
2009/12/02 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
jquery1.9 下检测浏览器类型和版本的方法
2013/12/26 Javascript
js在输入框屏蔽按键,只能键入数字的示例代码
2014/01/03 Javascript
Express.JS使用详解
2014/07/17 Javascript
Jquery跨域获得Json的简单实例
2016/05/18 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
2016/07/18 Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
2017/01/04 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
2019/06/10 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
JavaScript设计模式--简单工厂模式定义与应用案例详解
2020/05/23 Javascript
vue使用exif获取图片旋转,压缩的示例代码
2020/12/11 Vue.js
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
Python实现屏幕截图的代码及函数详解
2016/10/01 Python
Python中单、双下划线的区别总结
2017/12/01 Python
python使用pygame框架实现推箱子游戏
2018/11/20 Python
Python初学者常见错误详解
2019/07/02 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
Python函数默认参数常见问题及解决方案
2020/03/26 Python
pytorch使用horovod多gpu训练的实现
2020/09/09 Python
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
Kneipp克奈圃美国官网:德国百年精油配方的传承
2018/02/07 全球购物
什么是serialVersionUID
2016/03/04 面试题
网络安全类面试题
2015/08/01 面试题
运动会四百米广播稿
2014/01/19 职场文书
学校卫生检查制度
2014/02/03 职场文书
客房领班岗位职责
2015/02/11 职场文书
苦儿流浪记读书笔记
2015/07/01 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python