Вы находитесь на странице: 1из 3

Retorno de valores

Devolucin de valores en las funciones


Las funciones en Javascript tambin pueden retornar valores. De hecho, sta es una de las utilidades
ms esenciales de las funciones, que debemos conocer, no slo en Javascript sino en general en
cualquier lenguaje de programacin. De modo que, al invocar una funcin, se podr reali zar acciones
y ofrecer un valor como salida.
Por ejemplo, una funcin que calcula el cuadrado de un nmero tendr como entrada a ese nmero
y como salida tendr el valor resultante de hallar el cuadrado de ese nmero. La entrada de datos
en las funciones la vimos anteriormente en el artculo sobre parmetros de las funciones. Ahora
tenemos
que
aprender
acerca
de
la
salida.
Veamos un ejemplo de funcin que calcula la media de dos nmeros. La funcin recibir los dos
nmeros y retornar el valor de la media.

function media(valor1, valor2){


var resultado
resultado = (valor1 + valor2) / 2
return resultado
}

Para especificar el valor que retornar la funcin se utiliza la palabra return seguida de el valor que
se desea devolver. En este caso se devuelve el contenido de la variable resultado, que contiene la
media
calculada
de
los
dos
nmeros.
Quizs nos preguntemos ahora cmo recibir un dato que devuelve una funcin. Realmente en el
cdigo fuente de nuestros programas podemos invocar a las funciones en el lugar que deseemos.
Cuando una funcin devuelve un valor simplemente se sustituye la llamada a la funcin por ese valor
que devuelve. As pues, para almacenar un valor de devolucin de una funcin, tenemos que asignar
la llamada a esa funcin como contenido en una variable, y eso lo haramos con el operador de
asignacin =.
Para ilustrar esto se puede ver este ejemplo, que llamar a la funcin media() y guardar el resultado
de
la
media
en
una
variable
para
luego
imprimirla
en
la
pgina.
var
miMedia
document.write (miMedia)
Mltiples return

miMedia
media(12,8)

En realidad en Javascript las funciones slo pueden devolver un valor, por lo que en principio no
podemos hacer funciones que devuelvan dos datos distintos.
Nota: en la prctica nada nos impide que una funcin devuelva ms de un valor, pero como slo
podemos devolver una cosa, tendramos que meter todos los valores que queremos devolver en una
estructura de datos, como por ejemplo un array. No obstante, eso sera un uso ms o menos
avanzado que no vamos a ver en estos momentos.

Ahora bien, aunque slo podamos devolver un dato, en una misma funcin podemos colocar ms
de un return. Como decimos, slo vamos a poder retornar una cosa, pero dependiendo de lo que
haya sucedido en la funcin podr ser de un tipo u otro, con unos datos u otros.
En esta funcin podemos ver un ejemplo de utilizacin de mltiples return. Se trata de una funcin
que devuelve un 0 si el parmetro recibido era par y el valor del parmetro si este era impar.

function multipleReturn(numero){
var resto = numero % 2
if (resto == 0)
return 0
else
return numero
}

Para averiguar si un nmero es par hallamos el resto de la divisin al dividirlo entre 2. Si el resto es
cero es que era par y devolvemos un 0, en caso contrario -el nmero es impar- devolvemos el
parmetro recibido.

mbito de las variables en funciones


Dentro de las funciones podemos declarar variables. Sobre este asunto debemos de saber que todas
las variables declaradas en una funcin son locales a esa funcin, es decir, slo tendrn validez
durante la ejecucin de la funcin.
Nota: Incluso, si lo pensamos, nos podremos dar cuenta que los parmetros son como variables que
se declaran en la cabecera de la funcin y que se inicializan al llamar a la funcin. Los parmetros
tambin son locales a la funcin y tendrn validez slo cuando sta se est ejecutando.

Podra darse el caso de que podemos declarar variables en funciones que tengan el mismo nombre
que una variable global a la pgina. Entonces, dentro de la funcin, la variable que tendr validez es
la variable local y fuera de la funcin tendr validez la variable global a la pgina.
En cambio, si no declaramos las variables en las funciones se entender por javascript que estamos

haciendo referencia a una variable global a la pgina, de modo que si no est creada la variable la
crea, pero siempre global a la pgina en lugar de local a la funcin.
Veamos el siguiente cdigo.
function variables_glogales_y_locales(){
var variableLocal = 23
variableGlobal = "qwerty"
}
En este caso variableLocal es una variable que se ha declarado en la funcin, por lo que ser local
a la funcin y slo tendr validez durante su ejecucin. Por otra parte variableGlobal no se ha llegado
a declarar (porque antes de usarla no se ha utilizado la palabra var para declararla). En este caso la
variable variableGlobal es global a toda la pgina y seguir existiendo aunque la funcin finalice su
ejecucin. Adems, si antes de llamar a la funcin existiese la variable variableGlobal, como
resultado de la ejecucin de esta funcin, se machacara un hipottico valor de esa variable y se
sustituira por "qwerty".

Вам также может понравиться