使用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 相关文章推荐
用javascript来实现动画导航效果的代码
Dec 16 Javascript
JQuery 小练习(实例代码)
Aug 07 Javascript
javascript 数组排序函数
Aug 20 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
Jun 08 Javascript
javascript模块化是什么及其优缺点介绍
Sep 02 Javascript
javascript中setTimeout的问题解决方法
May 08 Javascript
JavaScript中的ubound函数使用实例
Nov 04 Javascript
JQuery中节点遍历方法实例
May 18 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
Dec 29 Javascript
JS计算两个时间相差分钟数的方法示例
Jan 10 Javascript
vue中使用echarts制作圆环图的实例代码
Jul 27 Javascript
react-router-dom 嵌套路由的实现
May 02 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
PHP 快速排序算法详解
2014/11/10 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
jQuery 全选效果实现代码
2009/03/23 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
2013/11/06 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
2014/04/15 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
2015/04/17 Javascript
JQ技术实现注册页面带有校验密码强度
2015/07/27 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
2016/10/05 Javascript
javascript另类方法实现htmlencode()与htmldecode()函数实例分析
2016/11/17 Javascript
微信小程序 WebSocket详解及应用
2017/01/21 Javascript
jQuery实现 上升、下降、删除、添加一行代码
2017/03/06 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
详解小程序云开发攻略(解决最棘手的问题)
2019/09/30 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
2020/09/09 Javascript
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
Python的迭代器和生成器
2015/07/29 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
详解关于Django中ORM数据库迁移的配置
2018/10/08 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
解决Python设置函数调用超时,进程卡住的问题
2019/08/08 Python
python实现根据文件格式分类
2019/10/31 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
python 判断一组数据是否符合正态分布
2020/09/23 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
Vans英国官方网站:美国南加州的原创极限运动潮牌
2017/01/20 全球购物
法学个人求职信范文
2014/01/27 职场文书
建筑工程造价专业自荐信
2014/07/08 职场文书
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL