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检测客户端不是firefox则提示下载
Apr 07 Javascript
jQuery 技巧小结
Apr 02 Javascript
jquery下jstree简单应用 - v1.0
Apr 14 Javascript
改变隐藏的input中value值的方法
Mar 19 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
Dec 30 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
Aug 15 jQuery
基于对象合并功能的实现示例
Oct 10 Javascript
JavaScript ES6中的简写语法总结与使用技巧
Dec 30 Javascript
使用 Vue cli 3.0 构建自定义组件库的方法
Apr 30 Javascript
Smartour 让网页导览变得更简单(推荐)
Jul 19 Javascript
15分钟上手vue3.0(小结)
May 20 Javascript
JS+JQuery实现无缝连接轮播图
Dec 30 jQuery
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
实现dedecms全站URL静态化改造的代码
2007/03/29 PHP
解析isset与is_null的区别
2013/08/09 PHP
PHP实现根据密码长度显示安全条
2017/07/04 PHP
PHP函数按引用传递参数及函数可选参数用法示例
2018/06/04 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
使用UglifyJS合并/压缩JavaScript的方法
2012/03/07 Javascript
一个JQuery操作Table的代码分享
2012/03/30 Javascript
Jquery getJSON方法详细分析
2013/12/26 Javascript
利用JS解决ie6不支持max-width,max-height问题的方法
2014/01/02 Javascript
用unescape反编码得出汉字示例
2014/04/24 Javascript
json字符串之间的相互转换示例代码
2014/08/21 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
EasyUI中combobox默认值注意事项
2015/03/01 Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
2016/07/08 Javascript
Javascript json object 与string 相互转换的简单实现
2016/09/27 Javascript
基于jPlayer三分屏的制作方法
2016/12/21 Javascript
vuejs2.0运用原生js实现简单的拖拽元素功能示例
2017/02/24 Javascript
微信小程序自定义select下拉选项框组件的实现代码
2018/08/28 Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
2018/09/30 Javascript
Python函数式编程指南(四):生成器详解
2015/06/24 Python
Python 性能优化技巧总结
2016/11/01 Python
详解python中字典的循环遍历的两种方式
2017/02/07 Python
Python实现随机选择元素功能
2017/09/14 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
Django restframework 源码分析之认证详解
2019/02/22 Python
django框架自定义模板标签(template tag)操作示例
2019/06/24 Python
python实现替换word中的关键文字(使用通配符)
2020/02/13 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
2020/04/30 Python
python在CMD界面读取excel所有数据的示例
2020/09/28 Python
DC Shoes官网:美国滑板鞋和服饰品牌
2017/09/03 全球购物
台湾家适得:Homeget
2019/02/11 全球购物
北京麒麟网信息技术有限公司网络游戏测试面试题
2013/09/28 面试题
简历的自荐信
2013/12/19 职场文书
会议接待欢迎词
2014/01/12 职场文书
淘宝文案策划岗位职责
2015/04/14 职场文书
质量承诺书格式范文
2015/04/28 职场文书