2010-07-29 87 views
0

我有以下几点:的JavaScript巩固switch语句

switch(state) { 
    case MyStates.StateA: 
    //do something 
    break; 
    case MyStates.StateB: 
    //do something 
    break; 
    case MyStates.StateC: 
    //do something 
    break; 

}

StateBStateC都需要处理的代码相同的位,我怎么能避免重复?请注意我不能MyStates.StateB = MyStates.StateC;他们必须有所不同,也可以是不同的类型。我想要做类似下面的非法声明:

case MyStates.StateB || case MyStates.StateC : 
+0

建议:'break'关键字用来阻止落空。 http://javascript.about.com/od/hintsandtips/a/fallthrough.htm – 2010-07-29 15:43:37

回答

9
switch(state) { 
    case MyStates.StateA: 
    //do something for A 
    break; 
    case MyStates.StateB: 
    case MyStates.StateC: 
    //do something for B and C 
    break; 
} 
+0

为了完整性,您还应该包含默认值:/ break;块也是如此。 – 2010-07-29 15:51:54