use*_*123 12 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;
}
Run Code Online (Sandbox Code Playgroud)
对于每种情况,我都有很多部分重复的代码,因为有些属性在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;
}
Run Code Online (Sandbox Code Playgroud)
或者这是一种不好的做法?
Adr*_*iro 13
不,这不是不好的做法.实际上,这是一个很好的做法.这样,你就不会重复自己了.
另外,请查看文档:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/switch
小智 5
最佳做法是避免重复代码。这样,如果以后需要修改代码,则无需记住在多个位置进行修改。
在某些代码仅适用于某些情况的情况下,您可以省去一个中断,并且执行将在执行第一部分之后进入下一部分。仅当可以在一般案例代码之前执行特殊案例代码时才适用。执行此操作时请务必小心,并添加明确说明您有意这样做的注释。否则,如果以后对代码进行编辑,则其他人可能不会意识到它是有意的,并在缺少的地方添加断点。见下文:
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10224 次 |
| 最近记录: |