使用javascript switch语句的最佳实践

时间:2012-11-26 17:23:42

标签: javascript switch-statement

我目前正在使用switch语句编写一个jquery脚本,我想知道当几个'case'共享一些属性时最好的解决方案是什么,让我说我有这种模式:

switch (settings.xxx) {
case 'case1':
    Execute some code
    break;
case 'case2':
    Execute some code
    break;
case 'case3':
    Execute some code
    break;
}

对于每种情况,我都有很多部分重复的代码,因为有些属性在3种情况下很常见。所以我的问题是,我可以这样做:

switch (settings.xxx) {

case 'case1':
case 'case2':
case 'case3':
    Execute some code
    break;

}

switch (settings.xxx) {

case 'case1':
case 'case2':
    Execute some code
    break;
case 'case2':
case 'case3':
    Execute some code
    break;

}

或者这是一种不好的做法?

2 个答案:

答案 0 :(得分:12)

不,这不是不好的做法。实际上,这是一个很好的做法。这样,你就not repeat yourself

另外,请查看文档:{​​{3}}

答案 1 :(得分:4)

最佳做法是避免重复代码。这样,如果您以后需要修改代码,则无需记住在多个位置执行此操作。

在某些代码仅适用于某些情况的情况下,您可以省略休息,并且在执行第一部分后执行将进入下一部分。这仅适用于在一般案例代码之前执行特殊情况代码的情况。这样做时要小心,并清楚地添加注释,说明你是故意这样做的。否则,如果稍后编辑代码,则其他人可能没有意识到它是故意的,并在缺少的位置添加中断。见下文:

switch (settings.xxx) {
case 'case1':
case 'case2':
    Execute some code that applies to cases 1 & 2
    // break left out to allow execution to fall through
case 'case3':
    Execute some code that applies to cases 1 - 3
    break;
case 'case4':
    Execute different code
    break;
}