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实现在Repeater控件中创建可隐藏区域的代码
Sep 16 Javascript
jquery垂直公告滚动实现代码
Dec 08 Javascript
JavaScript获取一个范围内日期的方法
Apr 24 Javascript
JQuery遍历DOM节点的方法
Jun 11 Javascript
jquery+json实现分页效果
Mar 07 Javascript
JS定义类的六种方式详解
May 12 Javascript
在javascript中使用com组件的简单实现方法
Aug 17 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
Feb 12 Javascript
详解基于DllPlugin和DllReferencePlugin的webpack构建优化
Jun 28 Javascript
小程序开发基础之view视图容器
Aug 21 Javascript
d3.js 地铁轨道交通项目实战
Nov 27 Javascript
Nuxt.js 静态资源和打包的操作
Nov 06 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
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
PHP 中文处理技巧
2010/04/25 PHP
php实现mysql事务处理的方法
2014/12/25 PHP
PHP读取PPT文件的方法
2015/12/10 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
2019/10/30 PHP
用javascript连接access数据库的方法
2006/11/17 Javascript
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
Javascript代码在页面加载时的执行顺序介绍
2013/05/03 Javascript
JQuery插件开发示例代码
2013/11/06 Javascript
jQuery实现带动画效果的二级下拉导航方法
2015/03/11 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
详解Nodejs内存治理
2018/05/13 NodeJs
Vue中父子组件通讯之todolist组件功能开发
2018/05/21 Javascript
在vue项目中,将juery设置为全局变量的方法
2018/09/25 Javascript
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
2019/03/19 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
原生javascript单例模式的应用实例分析
2020/02/23 Javascript
js实现移动端图片滑块验证功能
2020/09/29 Javascript
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
TensorFlow实现AutoEncoder自编码器
2018/03/09 Python
python实现狄克斯特拉算法
2019/01/17 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
详解用python生成随机数的几种方法
2019/08/04 Python
利用python为PostgreSQL的表自动添加分区
2021/01/18 Python
澳大利亚家具和家居用品购物网站:Zanui
2018/12/29 全球购物
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
微软巴西官方网站:Microsoft Brasil
2019/09/26 全球购物
广州某公司软件工程师面试题
2014/12/22 面试题
大学生实习期自我评价范文
2013/10/03 职场文书
2014年党总支工作总结
2014/12/18 职场文书
企业党员岗位承诺书
2015/04/27 职场文书
八年级英语教学反思
2016/02/15 职场文书
感谢信
2019/04/11 职场文书
delete in子查询不走索引问题分析
2022/07/07 MySQL