¿Salida anticipada de la función?

Resuelto Simon asked hace 14 años • 12 respuestas

Tengo una función:

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

¿ Hay algo así exit()en JavaScript?

Simon avatar Jul 26 '10 00:07 Simon
Aceptado

Puedes simplemente usar return.

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

Esto enviará un valor de retorno undefineda lo que sea que se llame la función.

var x = myfunction();

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

Por supuesto, puede especificar un valor de retorno diferente. Cualquier valor que se devuelva se registrará en la consola utilizando el ejemplo anterior.

return false;
return true;
return "some string";
return 12345;
user113716 avatar Jul 25 '2010 17:07 user113716

Aparentemente puedes hacer esto:

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

Vea los alcances del bloque mediante el uso de una etiqueta: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label

No veo ningún inconveniente todavía. Pero no parece un uso común.

Derivó esta respuesta: JavaScript equivalente al dado de PHP

CMCDragonkai avatar Mar 08 '2014 10:03 CMCDragonkai
function myfunction() {
     if(a == 'stop') 
         return false;
}

return false;es mucho mejor que soloreturn;

xlaok avatar Feb 01 '2013 02:02 xlaok