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 相关文章推荐
JS+CSS实现实用的单击输入框弹出选择框的方法
Feb 28 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
Dec 09 Javascript
javascript针对不确定函数的执行方法
Dec 16 Javascript
ajax跨域调用webservice的实现代码
May 09 Javascript
jQuery弹出div层过2秒自动消失
Nov 29 Javascript
用jquery的attr方法实现图片切换效果
Feb 05 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
Feb 16 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
Apr 20 Javascript
JS基于for语句编写的九九乘法表示例
Jan 04 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
Jun 19 Javascript
微信小程序实现分享到朋友圈功能
Jul 19 Javascript
微信开发之企业付款到银行卡接口开发的示例代码
Sep 18 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
PHP正则的Unknown Modifier错误解决方法
2010/03/02 PHP
php读取javascript设置的cookies的代码
2010/04/12 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
2013/06/26 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
2014/06/19 PHP
PHP微信开发之文本自动回复
2016/06/23 PHP
Yii2验证器(Validator)用法分析
2016/07/23 PHP
PHP实现随机生成水印图片功能
2017/03/22 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
jQuery简单实现banner图片切换
2014/01/02 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
jQuery修改DOM结构_动力节点Java学院整理
2017/07/05 jQuery
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
vue源码学习之Object.defineProperty 对数组监听
2018/05/30 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
VUE项目实现主题切换的多种方法
2020/11/26 Vue.js
Python3访问并下载网页内容的方法
2015/07/28 Python
Python内置加密模块用法解析
2019/11/25 Python
Python 支持向量机分类器的实现
2020/01/15 Python
python实现数学模型(插值、拟合和微分方程)
2020/11/13 Python
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
独特的礼品和创新的科技产品:The Grommet
2018/02/24 全球购物
英国演唱会订票网站:Ticket Selection
2018/03/27 全球购物
Crocs波兰官方商店:女鞋、男鞋、童鞋、洞洞鞋
2019/10/08 全球购物
物流专业大学生职业生涯规划书范文
2014/01/15 职场文书
大专毕业生自我鉴定范文(2篇)
2014/09/27 职场文书
2015年实习班主任工作总结
2015/04/23 职场文书
2015年司法所工作总结
2015/04/27 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
Python多线程 Queue 模块常见用法
2021/07/04 Python
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技