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 相关文章推荐
Javascript中暂停功能的实现代码
Mar 04 Javascript
解释&&和||在javascript中的另类用法
Jul 28 Javascript
javascript学习笔记(三)BOM和DOM详解
Sep 30 Javascript
JS+DIV+CSS实现仿表单下拉列表效果
Aug 18 Javascript
Node.js+Express配置入门教程
May 19 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
Jul 07 Javascript
js print打印网页指定区域内容的简单实例
Nov 01 Javascript
Vue.js组件tree实现省市多级联动
Dec 02 Javascript
js读取json文件片段中的数据实例
Mar 09 Javascript
JS实现简单拖拽效果
Jun 21 Javascript
js中对象与对象创建方法的各种方法
Feb 27 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
Apr 20 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 获取客户端的真实ip
2009/11/30 PHP
Parse正式发布开源PHP SDK
2014/08/11 PHP
Jquery知识点二 jquery下对数组的操作
2011/01/15 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
jQuery中slideUp 和 slideDown 的点击事件
2015/02/26 Javascript
JQuery动态添加和删除表格行的方法
2015/03/09 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
JavaScript实现显示函数调用堆栈的方法
2016/04/21 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
前端js弹出框组件使用方法
2020/08/24 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
iview form清除校验状态的实现
2019/09/19 Javascript
Python基于PycURL自动处理cookie的方法
2015/07/25 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
2017/11/08 Python
使用python的pandas库读取csv文件保存至mysql数据库
2018/08/20 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
python把ipynb文件转换成pdf文件过程详解
2019/07/09 Python
django解决订单并发问题【推荐】
2019/07/31 Python
Python API自动化框架总结
2019/11/12 Python
Django中的AutoField字段使用
2020/05/18 Python
如何写python的配置文件
2020/06/07 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
萨克斯第五大道精品百货店: Saks Fifth Avenue
2017/04/28 全球购物
印度和世界各地的精美产品:Ikka Dukka
2018/02/12 全球购物
出纳岗位职责模板
2013/11/27 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
四风专项整治工作情况汇报
2014/10/28 职场文书
钳工实训报告总结
2014/11/04 职场文书
2014年高一班主任工作总结
2014/12/05 职场文书
幼儿园欢迎词范文
2015/01/26 职场文书
党风廉正建设个人工作总结
2015/03/06 职场文书
通知书大全
2015/04/27 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书
python实现调用摄像头并拍照发邮箱
2021/04/27 Python