使用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和Jquery获取和修改label的值的示例代码
Jan 15 Javascript
JS+CSS实现淡入式焦点图片幻灯切换效果的方法
Feb 26 Javascript
JavaScript改变CSS样式的方法汇总
May 07 Javascript
Jquery判断form表单数据是否变化
Mar 30 Javascript
Javascript删除指定元素节点的方法
Jun 21 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
May 02 Javascript
微信小程序实现滑动删除效果
May 19 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
Jul 24 Javascript
Angular 数据请求的实现方法
May 07 Javascript
ES6 系列之 Generator 的自动执行的方法示例
Oct 19 Javascript
使用p5.js临摹动态图形
Oct 23 Javascript
通过js实现压缩图片上传功能
Feb 25 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中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
2014/04/29 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
2014/08/21 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
2017/03/08 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
JavaScript 继承详解(四)
2009/07/13 Javascript
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
ExtJS4 组件化编程,动态加载,面向对象,Direct
2011/05/12 Javascript
为原生js Array增加each方法
2012/04/07 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
详解vscode中vue代码颜色插件
2018/10/11 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
2019/04/01 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
怎样在vue项目下添加ESLint的方法
2019/05/16 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
javascript实现计算器功能
2020/03/30 Javascript
[02:43]DOTA2英雄基础教程 半人马战行者
2014/01/13 DOTA
python进阶教程之循环对象
2014/08/30 Python
在IPython中进行Python程序执行时间的测量方法
2018/11/01 Python
Python多项式回归的实现方法
2019/03/11 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
2019/07/04 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
2019/07/19 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
最简单的matplotlib安装教程(小白)
2020/07/28 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
单位提档介绍信
2014/01/17 职场文书
酒店经理职责
2014/01/30 职场文书
幸福家庭事迹材料
2014/12/20 职场文书
学期个人工作总结
2015/02/13 职场文书
简单的辞职信怎么写
2015/02/28 职场文书
文化大革命观后感
2015/06/17 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
带你了解Java中的ForkJoin
2022/04/28 Java/Android