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 相关文章推荐
使用onbeforeunload属性后的副作用
Mar 08 Javascript
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
Jan 22 Javascript
DOM和XMLHttpRequest对象的属性和方法整理
Jan 04 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
Jul 18 Javascript
在JavaScript中判断整型的N种方法示例介绍
Jun 18 Javascript
详解AngularJS中的表格使用
Jun 16 Javascript
jQuery实现鼠标滑过点击事件音效试听
Aug 31 Javascript
浅谈Javascript中的12种DOM节点类型
Aug 19 Javascript
JavaScript中日常收集常见的10种错误(推荐)
Jan 08 Javascript
微信小程序 实现点击添加移除class
Jun 12 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
May 31 jQuery
JS数组降维的实现Array.prototype.concat.apply([], arr)
Apr 28 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
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
php header Content-Type类型小结
2011/07/03 PHP
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
2015/06/23 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
javascript读取xml
2006/11/04 Javascript
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
封装了jQuery的Ajax请求全局配置
2015/02/05 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
2015/03/02 Javascript
jQuery实现可编辑的表格实例讲解(2)
2015/09/17 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
用jquery获取自定义的标签属性的值简单实例
2016/09/17 Javascript
vue-router路由懒加载的实现(解决vue项目首次加载慢)
2018/08/28 Javascript
JS学习笔记之原型链和利用原型实现继承详解
2019/05/29 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
2019/06/10 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
Python class的继承方法代码实例
2020/02/14 Python
python3中for循环踩过的坑记录
2020/12/14 Python
is_file和file_exists效率比较
2021/03/14 PHP
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
用HTML5制作烟火效果的教程
2015/05/12 HTML / CSS
美国最大的珠宝首饰网上商城:Jewelry.com
2016/07/22 全球购物
美国肌肉和力量商店:Muscle & Strength
2019/06/22 全球购物
EJB3推出JPA的原因
2013/10/16 面试题
实习教师自我鉴定
2013/12/12 职场文书
缴纳养老保险的证明
2014/01/10 职场文书
留学自荐信写作方法
2014/01/27 职场文书
维稳工作情况汇报
2014/10/27 职场文书
爱岗敬业事迹材料
2014/12/24 职场文书
SQL实现LeetCode(178.分数排行)
2021/08/04 MySQL
Java如何实现通过键盘输入一个数组
2022/02/15 Java/Android
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js
我去timi了,一起去timi是什么意思?
2022/04/13 杂记