根据条件跳转到不同的开关盒,如goto

时间:2014-07-23 07:42:23

标签: javascript switch-statement

我需要根据条件从一个案例转移到另一个案例。例如,这是我的代码:

switch (req.method) {
  case 'GET':
    alert('GET METHOD');
    break;
  case 'POST':
    alert('POST METHOD');
    break;
  case 'PUT':
    alert('PUT METHOD');
    break;
  default:
    res.end();
}

在上面的代码中,在POST案例中我需要检查,例如if(A === B),然后转到PUT这样的情况。怎么做?

2 个答案:

答案 0 :(得分:8)

进行条件递归

function checkMethod(method) {
    switch (method) {
        case 'GET':
            alert('GET METHOD');
            break;
        case 'POST':
            alert('POST METHOD');
            checkMethod('PUT'); // here stand the pros of a function
            break;
        case 'PUT':
            alert('PUT METHOD');
            break;
        default:
            res.end();
    }
}

答案 1 :(得分:5)

您可以删除break;来执行此操作。如果它到达POST案例的末尾,如果没有break;,它将继续下一个案例。 More Information on switch fallthrough

示例:

switch (req.method) {
 case 'GET':
       alert('GET METHOD');
       break;
 case 'POST':           
       alert('POST METHOD');
       if (A === B) {
           break;
       }
 case 'PUT':
       alert('PUT METHOD');
       break;
 default:
   res.end();
}