使用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 相关文章推荐
js中将具有数字属性名的对象转换为数组
Mar 06 Javascript
onbeforeunload与onunload事件异同点总结
Jun 24 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
Dec 26 Javascript
javascript去掉代码里面的注释
Jul 24 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
Nov 15 Javascript
用jquery获取自定义的标签属性的值简单实例
Sep 17 Javascript
微信js-sdk地理位置接口用法示例
Oct 12 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
Jan 25 Javascript
微信小程序事件 bindtap bindinput代码实例
Aug 26 Javascript
webpack是如何实现模块化加载的方法
Nov 06 Javascript
详细分析vue响应式原理
Jun 22 Javascript
vue3使用vuedraggable实现拖拽功能
Apr 06 Vue.js
两个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
允许phpmyadmin空密码登录的配置方法
2011/05/29 PHP
PHP 数组和字符串互相转换实现方法
2013/03/26 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
用jscript实现新建和保存一个word文档
2007/06/15 Javascript
解决Extjs上传图片无法预览的解决方法
2012/03/22 Javascript
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
2014/04/17 Javascript
AngularJS基础学习笔记之指令
2015/05/10 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
2016/06/27 Javascript
两种简单的跨域方法(jsonp、php)
2017/01/02 Javascript
React组件之间的通信的实例代码
2017/06/27 Javascript
关于Vue实现组件信息的缓存问题
2017/08/23 Javascript
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
React中使用UEditor百度富文本的方法
2018/08/22 Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
2018/10/20 Javascript
Vue 引入AMap高德地图的实现代码
2019/04/29 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
2019/09/19 Javascript
js实现时分秒倒计时
2019/12/03 Javascript
[49:42]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第一局
2016/03/04 DOTA
[59:32]Liquid vs Fnatic 2019国际邀请赛淘汰赛败者组BO1 8.20.mp4
2020/07/19 DOTA
python生成密码字典的方法
2018/07/06 Python
Python中栈、队列与优先级队列的实现方法
2019/06/30 Python
Python使用matplotlib 模块scatter方法画散点图示例
2019/09/27 Python
Python PyInstaller库基本使用方法分析
2019/12/12 Python
pandas中read_csv的缺失值处理方式
2019/12/19 Python
Python @property及getter setter原理详解
2020/03/31 Python
pytorch查看通道数 维数 尺寸大小方式
2020/05/26 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
健康监测猫砂:Pretty Litter
2017/05/25 全球购物
百思买加拿大:Best Buy Canada
2018/03/20 全球购物
奢华时尚的独特视角:La Garçonne
2018/06/07 全球购物
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
公司JAVA开发面试题
2015/04/02 面试题
汽车转让协议书范本
2014/12/07 职场文书
分享提高 Python 代码的可读性的技巧
2022/03/03 Python
mysql使用 not int 子查询隐含陷阱
2022/04/12 MySQL