2010-08-21 7 views

risposta

56

di ritorno è come si esce da un corpo della funzione. Stai utilizzando l'approccio corretto.

Suppongo che, a seconda di come è strutturata l'applicazione, è possibile utilizzare anche throw. Normalmente ciò richiede che le chiamate alla tua funzione siano racchiuse in un blocco try/catch.

+0

Grazie per il conferma. Impossibile trovare questa risposta con Google. – Rhys

+0

Davvero? Basta lanciare un'eccezione per uscire da una funzione? Cattivo consiglio ... – WoIIe

+5

@Wolle - noterete che l'ho elencato come _alternativo_ e con l'avvertenza che le chiamate alla funzione dovrebbero essere racchiuse in un blocco try/catch. A seconda della funzione, dell'ambito del progetto e di ciò che la funzione realizza, sollevare un'eccezione per uscire potrebbe essere perfettamente appropriata. Non si può sapere senza una conoscenza approfondita dell'implementazione dell'OP. Ad ogni modo, la mia risposta era usare 'return', non' throw'. –

7

Il return dichiarazione esce una funzione da qualsiasi punto all'interno della funzione:

function something(x) 
{ 
    if (x >= 10) 
     // this leaves the function if x is at least 10. 
     return; 

    // this message displays only if x is less than 10. 
    alert ("x is less than 10!"); 
} 
26

uso return per questo

if(i==1) { 
    return; //stop the execution of function 
} 

//keep on going 
+1

Restituire false ha senso solo se si prevede un ritorno booleano e si restituirà true in altre situazioni. Potrebbe restituire un valore di matrice, o un indicatore di stato, o un suggerimento su quanto lontano attraverso la funzione che ha fatto come risultato del condizionale. –

+1

Hai ragione ..... – Starx

1

utilizzare un'istruzione try...catch nella tua funzione principale e ogni volta che si desidera interrompere la funzione basta usare:

throw new Error("Stopping the function!"); 
Problemi correlati