2012-05-31 45 views
0

我有一个功能,看起来像这样:的JavaScript函数退出

function MyFunction() { 

    //do some work 

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

function FunctionToCall() {...} 

如果说我叫FunctionToCall(),我不想继续do some more work。我是否需要在FunctionToCall();声明后面返回true或返回false语句?它似乎与两者兼容。

谢谢。

+0

你只需要'返回;'它不一定是真的或假的。 –

回答

4

正如您所说,您需要在拨打FunctionToCall后再拨打return。通过它的声音,这不要紧,你什么回报(这将返回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 
} 
1

是你将不得不把return语句后或就这样

return FunctionToCall(); 

FunctionToCall(); 
return; 
3

你可以做一个return;到下一个函数的调用之前,因为你忽略返回值的功能。

0

如果你总是在void -context使用MyFunction(),使用return;

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