0

我有如下开关盒

  switch(something){
      case 1:
             break;
      case 2:
             break;
      case 3:
             break;
      default:
             break;
    }

现在我想在案例 3 中调用案例 1 是否可能?

4

5 回答 5

7

只需将操作包装在函数中,以便它们可重用

switch (something) {
case 1:
    operation1();
    break;
case 2:
    operation2();
    break;
case 3:
    operation3()
    operation1(); //call operation 1
    break;
default:
    defaultOperation();
    break;
}
于 2012-05-29T12:52:59.543 回答
2

你可以这样做:

switch(something){
  case 2:
         break;
  case 3:
         //do something and fall through
  case 1:
         //do something else
         break;
  default:
         break;
}

通常将执行匹配大小写以下的所有代码。因此,如果您省略该break;语句,您将自动进入下一个案例并执行其中的代码。

于 2012-05-29T12:53:10.043 回答
2
  switch(something){
      case 3:
      case 1:
             break;
      case 2:
             break;

      default:
             break;
    }

这应该可以解决问题

于 2012-05-29T12:54:05.270 回答
1

结合两种情况:

switch(something){
   case 1:
   case 3:
          break;
   case 2:
          break;
   default:
          break;
 } 
于 2012-05-29T12:54:47.443 回答
1
var i = 3;

switch (i)
{
    case(3):
    alert("This is the case for three");

    case(1):
    alert("The case has dropped through");
    break;
    case(2):
    alert("This hasn't though");
    break;
}  

虽然不是一个好主意,但会导致代码不可读

于 2012-05-29T12:55:09.600 回答