使用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 相关文章推荐
jQuery新闻滚动插件 jquery.roller.js
Jun 27 Javascript
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
Oct 11 Javascript
animate动画示例(泪奔的小孩)及stop和delay的使用
May 06 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
Feb 27 Javascript
JavaScript中使用自然对数ln的方法
Jun 14 Javascript
jQuery unbind()方法实例详解
Jan 19 Javascript
JavaScript中对JSON对象的基本操作示例
May 21 Javascript
详解Angular中的自定义服务Service、Provider以及Factory
Apr 22 Javascript
JS实现无缝循环marquee滚动效果
May 22 Javascript
js图片上传的封装代码
Aug 01 Javascript
EasyUI创建人员树的实例代码
Sep 15 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
Aug 07 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中实现进程间通讯
2006/10/09 PHP
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
yii实现图片上传及缩略图生成的方法
2014/12/04 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
2017/05/05 PHP
PHP中PDO事务处理操作示例
2018/05/02 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
2019/05/21 PHP
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
UserData用法总结 lanyu出品
2010/07/01 Javascript
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
jquery图片放大镜功能的实例代码
2013/03/26 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
javascript中全局对象的isNaN()方法使用介绍
2013/12/19 Javascript
JS去除字符串两端空格的简单实例
2013/12/27 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
2016/11/02 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
微信小程序 scroll-view实现上拉加载与下拉刷新的实例
2017/01/21 Javascript
layuiAdmin循环遍历展示商品图片列表的方法
2019/09/16 Javascript
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
python实现中文转换url编码的方法
2016/06/14 Python
python 执行终端/控制台命令的例子
2019/07/12 Python
Django框架model模型对象验证实现方法分析
2019/10/02 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
Python 字典中的所有方法及用法
2020/06/10 Python
thinkphp5 路由分发原理
2021/03/18 PHP
35款精致的 CSS3 和 HTML5 网页模板 推荐
2012/08/03 HTML / CSS
BabyBjörn婴儿背带法国官网:BabyBjorn法国
2018/06/16 全球购物
研发工程师的岗位职责
2013/11/18 职场文书
高三语文教学反思
2014/01/15 职场文书
个人年终总结怎么写
2015/03/09 职场文书
爱的教育观后感
2015/06/17 职场文书
2016保送生自荐信范文
2016/01/29 职场文书
springboot中的pom文件 project报错问题
2022/01/18 Java/Android