习惯了C#的语法,遇到多分支调用的情况,除了最简单的if-else,那么就是switch-case了,所以使用JavaScript的时候就很容易会写出下面这样的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
// JScript source code
//something的值是1、2、3...
switch
(something) {
case
1:
todoA();
break
;
case
2:
todoB();
break
;
case
3:
todoC();
break
;
//...
}
|
这样的代码本身也没什么,只是可读性差一些,看起来有点费劲,JavaScript虽然支持switch-case,不过有一种更好的写法值得推广:
1
2
3
4
5
6
7
8
9
10
|
// JScript source code
//something的值是1、2、3...
var
cases = {
1: todoA,
2: todoB,
3: todoC
};
if
(cases[something]) {
cases[something]();
}
|
怎么样?帅吧!在JavaScript里,函数(todoA、todoB、todoC)就是对象,“()”的作用就是就是执行函数对象,二者简单地组合一下就能够让代码清晰简洁很多了,何乐不为呢?
本文转自Justin博客园博客,原文链接:http://www.cnblogs.com/justinw/archive/2010/03/13/1685021.html,如需转载请自行联系原作者