使用JavaScript switch case 另类写法


Posted in Javascript onMarch 14, 2010

习惯了C#的语法,遇到多分支调用的情况,除了最简单的if-else,那么就是switch-case了,所以使用JavaScript的时候就很容易会写出下面这样的代码:

// JScript source code 
//something的值是1、2、3... 
switch (something) { 
case 1: 
todoA(); 
break; 
case 2: 
todoB(); 
break; 
case 3: 
todoC(); 
break; 
//... 
}

这样的代码本身也没什么,只是可读性差一些,看起来有点费劲,JavaScript虽然支持switch-case,不过有一种更好的写法值得推广:
// JScript source code 
//something的值是1、2、3... 
var cases = { 
1: todoA, 
2: todoB, 
3: todoC 
}; 
if (cases[something]) { 
cases[something](); 
}

作者:Justin
出处:http://justinw.cnblogs.com/
Javascript 相关文章推荐
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
Dec 10 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
Jul 07 Javascript
JS获得多个同name 的input输入框的值的实现方法
Jan 09 Javascript
详解jquery validate实现表单验证 (正则表达式)
Jan 18 Javascript
jQuery动态产生select option下拉列表
Mar 15 Javascript
vue省市区三联动下拉选择组件的实现
Apr 28 Javascript
Ionic2开发环境搭建教程
Aug 20 Javascript
JavaScript中使用参数个数实现重载功能
Sep 01 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
Sep 04 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
Jan 23 Javascript
多页vue应用的单页面打包方法(内含打包模式的应用)
Jun 11 Javascript
基于vue+element实现全局loading过程详解
Jul 10 Javascript
两个JavaScript jsFiddle JSBin在线调试器
Mar 14 #Javascript
input的focus方法使用
Mar 13 #Javascript
JavaScript prototype对象的属性说明
Mar 13 #Javascript
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
Mar 12 #Javascript
JS在IE和FireFox之间常用函数的区别小结
Mar 12 #Javascript
javascript offsetX与layerX区别
Mar 12 #Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
Mar 12 #Javascript
You might like
动态生成gif格式的图像要注意?
2006/10/09 PHP
php中使用preg_match_all匹配文章中的图片
2013/02/06 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
2014/01/03 PHP
PHP合并discuz用户脚本的方法
2015/08/04 PHP
浅谈php fopen下载远程文件的函数
2016/11/18 PHP
php实现微信扫码支付
2017/03/26 PHP
yii插入数据库防并发的简单代码
2017/05/27 PHP
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
JavaScript 对象链式操作测试代码
2010/04/25 Javascript
javascript一个无懈可击的实例化XMLHttpRequest的方法
2010/10/13 Javascript
jQuery操作select的实例代码
2012/06/14 Javascript
jQuery 监控键盘一段时间没输入
2016/04/22 Javascript
如何在Angular.JS中接收并下载PDF
2016/11/26 Javascript
JS数字千分位格式化实现方法总结
2016/12/16 Javascript
深入理解vue-loader如何使用
2017/06/06 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
微信小程序 scroll-view 实现锚点跳转功能
2019/12/12 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
Python中optparser库用法实例详解
2018/01/26 Python
使用Flask集成bootstrap的方法
2018/07/24 Python
Python中super函数用法实例分析
2019/03/18 Python
Python中常用的os操作汇总
2020/11/05 Python
Python基于Faker假数据构造库
2020/11/30 Python
Internet主要有哪些网络群组成
2015/12/24 面试题
Prototype中如何为一个元素添加一个方法
2014/12/08 面试题
护士自荐信范文
2013/12/15 职场文书
2015年污水处理厂工作总结
2015/05/26 职场文书
八月迷情观后感
2015/06/11 职场文书
创业计划书之家政服务
2019/09/18 职场文书
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
2021/04/22 HTML / CSS
Python数据分析之pandas读取数据
2021/06/02 Python
分享一些Java的常用工具
2021/06/11 Java/Android
浅谈Redis 中的过期删除策略和内存淘汰机制
2022/04/03 Redis
CentOS 7安装mysql5.7使用XtraBackUp备份工具命令详解
2022/04/12 MySQL