我目前正在使用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;
}
或者这是一种不好的做法?
答案 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;
}