comparte el articulo 

Manual JavaScript. Devolución de datos

Actualizado el 02/12/2008 < > 0 Comentarios

Resumen: Explicamos como una función puede devolver datos hacia afuera por medio de la expresión return.

Devolución de datos en JavaScript

Como ya sabemos, una función puede devolver datos hacia afuera por medio de la expresión return. Naturalmente, podemos devolver cualquier tipo de datos. Sin embargo hay que tener en cuenta una serie de cuestiones:

Siempre se devuelven objetos, como ya hemos visto, y por lo tanto podemos devolver un objeto creado en la misma función. Normalmente, cuando creamos una variable dentro de una función, esta variable existe sólo para esa función, y desaparece en el momento en que la función termina (la variable se encuentra en la pila de memoria, y cuando la función desaparece, también lo hace la pila); pero en el caso de que devolvamos el objeto, no se devuelve exactamente la misma variable, si no que se devuelve su contenido. Cuando devolvemos true ó un valor distinto que cero, para JavaScript es lo mismo, y si devolvemos false o 0, también viene a ser lo mismo. Esta es una regla estándar para muchos lenguajes como JavaScript, Java, PHP, Perl, etc… No es preciso que una función devuelva nada. No es necesario usar return. Además, también es posible que en vez de devolver resultados, se modifiquen variables globales, es decir, variables creadas fuera de la función y que se usan dentro. Si queremos salir de una función antes de tiempo, porque algo ha fallado o no hay nada que hacer en un caso específico, podemos simplemente escribir “return;”, lo que nos permitirá salir sin más y no devolver ningún valor.

Estas consideraciones son importantes a nivel general y es importante tenerlas en cuenta. Vamos a ver como funcionan con algunos ejemplos:

 function dev_variable()

  {

  variable = true;

  return variable;

  }

  var var1 = dev_variable();

Como vemos, hemos declarado una variable local a la función y la hemos devuelto, pero solo se devuelve realmente el valor. Esto pasa en todos los casos (Nota técnica: cuando se devuelve un objeto, se devuelven sus datos en forma de objeto de esa clase; esto lo entenderemos mejor en el capítulo siguiente). Veamos este otro ejemplo:

 function dev_true()

  {

  return true;

  }

  if (dev_true())

  {

  alert("es true");

  }

  if (true)

  {

  alert("también es true");

  }

  if (0)

  {

  alert("este también es true");

  }

Como hemos enunciado antes, un valor true y una valor distinto de cero son siempre verdad. En el ultimo caso, no se ejecutará porque es cero, y por lo tanto, falso.

Por último, veamos como salir de una función sin necesidad de devolver nada en cualquier momento:

 function salir()

  {

  document.write("hola");

  document.write("que pasa");

  return;

  alert("adiós");

  }

  salir();

En este ejemplo, la última linea no se ejecutará nunca porque hemos salido sin más en la linea anterior.

Publicado el 02/12/2008, última actualización 02/12/2008.

Autor: Marcos Legido Hernández

URL: Licencia GNU

(Subir al texto)

Añadir Comentario

* Campos obligatorios

Meneame Bitacoras