0

我有一个看起来像这样的函数:

function MyFunction() {

  //do some work

  if (SomeCondition === true) {
     //do some work
     FunctionToCall();
  }
  //do some more work
}

function FunctionToCall() {...}

如果我调用 FunctionToCall(),我不想继续使用do some more work. 我需要在语句之后放置一个 return true 或 return falseFunctionToCall();语句吗?它似乎适用于两者。

谢谢。

4

4 回答 4

4

正如您所说,您需要return在调用FunctionToCall. 听上去,你返回什么并不重要(这将返回undefined):

if (SomeCondition === true) {
    //do some work
    FunctionToCall();
    return;
}

如果您确实关心 的结果FunctionToCall,则可以返回从中返回的值:

return FunctionToCall();

或者,您可以使用else, 而不用打扰return语句(这也会返回undefined):

if (SomeCondition === true) {
    //do some work
    FunctionToCall();
}
else {
    //do some more work
}
于 2012-05-31T13:00:56.777 回答
3

你可以只做 a return;,因为你忽略了函数的返回值。

于 2012-05-31T13:01:24.223 回答
1

是的,您必须在像这样调用下一个函数之后或之前放置一个 return 语句

return FunctionToCall();

或者

FunctionToCall();
return;
于 2012-05-31T13:01:17.493 回答
0

如果您总是MyFunction()void-context 中使用,请使用return;

如果FunctionToCall()也可以在不同的上下文中调用,我更喜欢放在return true/false下一行。

于 2012-05-31T13:01:58.980 回答