2012-05-31 44 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下一行。