[JavaScript]使用JavaScript如何switch-case

习惯了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]();
}

怎么样?帅吧!在JavaScript里,函数(todoA、todoB、todoC)就是对象,“()”的作用就是就是执行函数对象,二者简单地组合一下就能够让代码清晰简洁很多了,何乐不为呢?

posted @ 2010-03-13 13:18 Justin 阅读(...) 评论(...) 编辑 收藏