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 相关文章推荐
捕获关闭窗口的脚本
Jan 10 Javascript
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
Jun 14 Javascript
JQuery伸缩导航练习示例
Nov 13 Javascript
jQuery实现的Div窗口震动特效
Jun 09 Javascript
jQuery中;function($,undefined) 前面的分号的用处
Dec 17 Javascript
js判断一个字符串是否包含一个子串的方法
Jan 26 Javascript
jQuery实现的图文高亮滚动切换特效实例
Aug 10 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
Aug 02 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
Dec 12 Javascript
js实现下拉菜单效果
Mar 01 Javascript
vue下拉列表功能实例代码
Apr 08 Javascript
微信小程序实现跳转的几种方式总结(推荐)
Apr 24 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读取excel文件的简单实例
2013/08/26 PHP
PHP数组游标实现对数组的各种操作详解
2016/01/26 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
详解php中空字符串和0之间的关系
2016/10/23 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
腾讯的ip接口 方便获取当前用户的ip地理位置
2010/11/25 Javascript
基于jQuery的一个扩展form序列化到json对象
2010/12/09 Javascript
判断ie的两种简单方法
2013/08/12 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
jquery遍历checkbox介绍
2014/02/21 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
2015/11/03 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
浅谈webpack打包生成的bundle.js文件过大的问题
2018/02/22 Javascript
vue中动态绑定表单元素的属性方法
2018/02/23 Javascript
使用koa2创建web项目的方法步骤
2019/03/12 Javascript
jQuery Datatables 动态列+跨列合并实现代码
2020/01/30 jQuery
[51:06]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS Liquid
2018/03/30 DOTA
python抓取网页中的图片示例
2014/02/28 Python
python编写暴力破解FTP密码小工具
2014/11/19 Python
Python 实现链表实例代码
2017/04/07 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
使用pandas读取文件的实现
2019/07/31 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
Python之Matplotlib文字与注释的使用方法
2020/06/18 Python
python爬虫泛滥的解决方法详解
2020/11/25 Python
Sandro Paris美国官网:典雅别致的法国时尚服饰品牌
2017/12/26 全球购物
迷你分体式空调:SoGoodToBuy
2018/08/07 全球购物
护理自荐信范文
2013/10/05 职场文书
会计专业自荐信
2014/06/03 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
小学语文的各类谚语(70首)
2019/08/15 职场文书
创业计划书之便利店
2019/09/05 职场文书
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android