swtich/if...else的替代语句


Posted in Javascript onAugust 16, 2015

很多时候,if...else...有很多判断分支选项,就会见到:

if (animal === 'dog') {
 // TO DO 'dog'
} else if (animal === 'cat') {
 // TO DO 'cat' 
} else if (animal === 'bird') {
 // TO DO 'bird' 
} else if (animal === 'fish') {
 // TO DO 'fish' 
} else {
  // TO DO 'other' 
}

确实通俗易懂,且写起来好方便,一路都是else if,太多选项分支,就有人用swtich这样写了:

swtich (animal) {
  case 'dog':
    // TO DO 'dog'
    break;
  case 'cat':
    // TO DO 'cat' 
    break;
  case 'bird':
    // TO DO 'bird' 
    break;
  case 'fish':
    // TO DO 'fish'
    break;
   default:
    // TO DO 'other'
}

 但是,还是可以借鉴使用Object的hash思想:

function getAnimalName(name) {
  var animals = {
    'dog': function () {
      return 'dog';
    },
    'cat': function() {
      return 'cat';
    },
    'bird': function() {
      return 'bird';
    },
    'fish': function() {
      return 'fish';
    },
    'default': function() {
      return 'other';
    }
  };
  return (animals.name || animals.default)();
}
var animal = getAnimalName('dog');
console.log(animal);// 'dog'

以上就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
50款非常棒的 jQuery 插件分享
Mar 29 Javascript
JavaScript控制Session操作方法
Jan 17 Javascript
JQuery入门——事件切换之toggle()方法应用介绍
Feb 05 Javascript
jQuery中:lt选择器用法实例
Dec 29 Javascript
使用jspdf生成pdf报表
Jul 03 Javascript
jquery判断输入密码两次是否相等
Apr 22 Javascript
js中用cssText设置css样式的简单方法
Sep 19 Javascript
bootstrap+jQuery实现的动态进度条功能示例
May 25 jQuery
Vue2.0 组件传值通讯的示例代码
Aug 01 Javascript
微信小程序富文本渲染引擎的详解
Sep 30 Javascript
JavaScript Canvas实现验证码
Aug 02 Javascript
实用的Vue开发技巧
May 30 Javascript
javascript数组去重的六种方法汇总
Aug 16 #Javascript
JS+CSS实现下拉列表框美化效果(3款)
Aug 15 #Javascript
js时钟翻牌效果实现代码分享
Jul 31 #Javascript
js实现点击文本框显示日期选择器特效代码分享
May 21 #Javascript
jQuery树形下拉菜单特效代码分享
Aug 15 #Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
Aug 15 #Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
Nov 18 #Javascript
You might like
php程序员应具有的7种能力小结
2014/11/27 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
php如何利用pecl安装mongodb扩展详解
2019/01/09 PHP
Prototype1.6 JS 官方下载地址
2007/11/30 Javascript
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
js表数据排序 sort table data
2009/02/18 Javascript
jQuery timers计时器简单应用说明
2010/10/28 Javascript
javascript中如何处理引号编码"
2013/08/15 Javascript
纯javascript制作日历控件
2015/07/17 Javascript
js查看一个函数的执行时间实例代码
2015/09/12 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
NVM安装nodejs的方法实用步骤
2019/01/16 NodeJs
Openlayers实现地图的基本操作
2020/09/28 Javascript
[01:06:18]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第二场 1月26日
2021/03/11 DOTA
Python编程中的文件操作攻略
2015/10/16 Python
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
Python拼接微信好友头像大图的实现方法
2018/08/01 Python
Python global全局变量函数详解
2018/09/18 Python
python处理DICOM并计算三维模型体积
2019/02/26 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
django解决订单并发问题【推荐】
2019/07/31 Python
Python读取表格类型文件代码实例
2020/02/17 Python
查看keras各种网络结构各层的名字方式
2020/06/11 Python
python statsmodel的使用
2020/12/21 Python
Java工程师面试集锦之Spring框架
2013/06/16 面试题
如何在C# winform中异步调用web services
2015/09/21 面试题
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
六查六看剖析材料
2014/02/15 职场文书
国旗下讲话演讲稿
2014/05/08 职场文书
优秀英文求职信范文
2015/03/19 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python
基于python的matplotlib制作双Y轴图
2021/04/20 Python
sql查询结果列拼接成逗号分隔的字符串方法
2021/05/25 SQL Server
Redis实现短信验证码登录的示例代码
2022/06/14 Redis