从内部函数返回外部函数

returning outer function from inner function

本文关键字:函数 外部 返回 内部函数      更新时间:2023-09-26
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返回时,下一个要执行的语句是MyFunctionreturn语句。是否有一种方法可以消除所有这些返回语句,以便从MyFunction返回在MyInnerFunction内执行?

谢谢。

您可以重新格式化代码,以便您的if条件只修改参数。然后在

末尾使用正确的参数调用方法
function MyFunction () {
   var params; 
   if (SomeCondition)
      params = SomeParam;
   else if (SomeOtherCondition)
      params = SomeOtherParam;
   else if (SomeThirdCondition)
      params = AnotherParam;
   MyInnerFunction(params);
}