Tenga en cuenta el siguiente código JavaScript.¿Por qué no funciona una declaración de retorno de Javascript cuando el valor de retorno está en una nueva línea?
<script language="javascript" type="text/javascript">
function correct()
{
return 15;
}
function wrong()
{
return
15;
}
alert("correct() called : "+correct());
alert("wrong() called : "+wrong());
</script>
El método correct()
en el fragmento de código anterior devuelve el valor correcto que es en este caso. El método wrong()
, sin embargo, devuelve undefined
. Tal no es el caso con la mayoría de los otros idiomas.
La función siguiente es sin embargo correcto y devuelve el valor correcto.
function wrong()
{
return(
15);
}
Si la sintaxis es incorrecta, debe emitir algún error de compilación pero no es así. ¿Por qué pasó esto?
posible duplicado de [¿Cuáles son las reglas para la inserción automática de punto y coma de Javascript?] (Http://stackoverflow.com/questions/2846283/what-are-the-rules-for-javascripts-automatic-semicolon-insertion) –
Esta es una de las razones por las que puse los paréntesis alrededor de mis valores devueltos. – jfriend00
El resultado es 15, no 10 como se muestra. –