3
function MyFunction () {

   if (SomeCondition) {

      MyInnerFunction(SomeParam);
      return;
   }   

   if (SomeOtherCondition) {

      MyInnerFunction(SomeOtherParam);
      return;
   } 

   if (SomeThirdCondition) {

      MyInnerFunction(AnotherParam);
      return;
   } 

   function MyInnerFunction(Param) {

      // Do some work here
      // HERE: I want return from MyFunction
   }
}

可以看到,当MyInnerFunction返回时,下一条要执行的return语句是MyFunction. 有没有办法消除所有这些 return 语句,以便在MyFunction内部执行return MyInnerFunction

谢谢。

4

1 回答 1

3

您可以重新格式化代码,以便您的 if 条件仅修改参数。然后你只需在最后用正确的参数调用你的方法

function MyFunction () {
   var params; 

   if (SomeCondition)
      params = SomeParam;
   else if (SomeOtherCondition)
      params = SomeOtherParam;
   else if (SomeThirdCondition)
      params = AnotherParam;

   MyInnerFunction(params);
}
于 2013-06-07T21:20:21.793 回答