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 23 Javascript
JavaScript实现select添加option
Jul 03 Javascript
javascript中加var和不加var的区别 你真的懂吗
Jan 06 Javascript
JQuery插件Marquee.js实现无缝滚动效果
Apr 26 Javascript
Node.js使用NodeMailer发送邮件实例代码
Mar 06 Javascript
Cropper.js 实现裁剪图片并上传(PC端)
Aug 20 Javascript
jQuery封装animate.css的实例
Jan 04 jQuery
jquery动态添加带有样式的HTML标签元素方法
Feb 24 jQuery
Javascript获取某个月的天数
May 30 Javascript
小程序登录态管理的方法示例
Nov 13 Javascript
Vue框架下引入ActiveX控件的问题解决
Mar 25 Javascript
详细分析vue表单数据的绑定
Jul 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
mysql limit查询优化分析
2008/11/12 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
2015/03/03 PHP
php分页原理 分页代码 分页类制作教程
2016/09/23 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
javascript 仿QQ滑动菜单效果代码
2010/09/03 Javascript
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
SeaJS入门教程系列之使用SeaJS(二)
2014/03/03 Javascript
不用一句js代码初始化组件
2016/01/27 Javascript
bootstrap flask登录页面编写实例
2016/11/01 Javascript
Bootstrap php制作动态分页标签
2016/12/23 Javascript
原生js实现简单的模态框示例
2017/09/08 Javascript
详解Vue SPA项目优化小记
2018/07/03 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
详解微信小程序的 request 封装示例
2018/08/21 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
python二叉树的实现实例
2013/11/21 Python
Python计算三维矢量幅度的方法
2015/06/15 Python
Python 自动刷博客浏览量实例代码
2017/06/14 Python
python实现发送邮件功能
2017/07/22 Python
Python将多份excel表格整理成一份表格
2018/01/03 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
Python爬虫爬取糗事百科段子实例分享
2020/07/31 Python
使用sublime text3搭建Python编辑环境的实现
2021/01/12 Python
开会迟到检讨书
2014/01/08 职场文书
公务员综合考察材料
2014/02/01 职场文书
《逃家小兔》教学反思
2014/02/23 职场文书
学习党代会心得体会
2014/09/05 职场文书
领导班子四风问题对照检查材料
2014/09/27 职场文书
医院合作意向书范本
2015/05/08 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
低端且暴利的线上线下创业项目分享
2019/09/03 职场文书
MySQL创建高性能索引的全步骤
2021/05/02 MySQL