444 votes

Sortie anticipée de la fonction?

J'ai une fonction:

 function myfunction() {
  if (a == 'stop')  // How can I stop the function here?
}
 

Y a-t-il quelque chose comme exit() en JavaScript?

705voto

user113716 Points 143363

Vous pouvez simplement utiliser return .

 function myfunction() {
     if(a == 'stop') 
         return;
}
 

Cela enverra une valeur de retour de undefined à tout ce qui a appelé la fonction.

 var x = myfunction();

console.log( x );  // console shows undefined
 

Bien sûr, vous pouvez spécifier une valeur de retour différente. Quelle que soit la valeur renvoyée, elle sera enregistrée dans la console en utilisant l'exemple ci-dessus.

 return false;
return true;
return "some string";
return 12345;
 

52voto

CMCDragonkai Points 544

Apparemment, vous pouvez faire ceci:

function myFunction() {myFunction:{
    console.log('i get executed');
    break myFunction;
    console.log('i do not get executed');
}}

Voir bloc étendues grâce à l'utilisation d'une étiquette: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label

Je ne vois pas d'inconvénients encore. Mais il ne semble pas comme une utilisation courante.

Dérivée de cette réponse: JavaScript équivalent de PHP die

28voto

jeffamaphone Points 31732

Remplacez le .......... par return;

23voto

xlaok Points 63
 function myfunction() {
     if(a == 'stop') 
         return false;
}
 

return false ; c'est beaucoup mieux

17voto

Rob Points 24505

Ce:

 function myfunction()
{
     if (a == 'stop')  // How can I stop working of function here?
     {
         return;
     }
}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X