Categoria: Programacion Tema: Java script - Java Titulo: Funciones que retornan un valor en java script
Fecha del Tema: 2013-04-04 20:56:13Funciones que retornan un valor Son comunes los casos donde una función, luego de hacer un proceso, retorne un valor. Ejemplo 1: Confeccionar una función que reciba un valor entero comprendido entre 1 y 5. Luego retornar en castellano el valor recibido. <?php //esto no va <html> <head> </head> <body> <script language="javascript"> function convertirCastellano(x) { if (x==1) return "uno"; else if (x==2) return "dos"; else if (x==3) return "tres"; else if (x==4) return "cuatro"; else if (x==5) return "cinco"; else return "valor incorrecto"; } var valor; valor=prompt("Ingrese un valor entre 1 y 5",""); valor=parseInt(valor); var r; r=convertirCastellano(valor); document.write(r); </script> </body> </html> ?>//esto no va Podemos ver que el valor retornado por una función lo indicamos por medio de la palabra clave return. Cuando se llama a la función, debemos asignar el nombre de la función a una variable, ya que la misma retorna un valor. Una función puede tener varios parámetros, pero sólo puede retornar un único valor. La estructura condicional if de este ejemplo puede ser remplazada por la instrucción switch, la función queda codificada de la siguiente manera: <?php //esto no va function convertirCastellano(x) { switch (x) { case 1:return "uno"; case 2:return "dos"; case 3:return "tres"; case 4:return "cuatro"; case 5:return "cinco"; default:return "valor incorrecto"; } } ?>//esto no va Esta es una forma más elegante que una serie de if anidados. La instrucción switch analiza el contenido de la variable x con respecto al valor de cada caso. En la situación de ser igual, ejecuta el bloque seguido de los 2 puntos hasta que encuentra la instrucción return o break. Ejemplo 2: Confeccionar una función que reciba una fecha con el formato de día, mes y año y retorne un string con un formato similar a: "Hoy es 10 de junio de 2003". <?php //esto no va <html> <head> </head> <body> <script language="javascript"> function formatearFecha(dia,mes,año) { var s=`Hoy es `+dia+` de `; switch (mes) { case 1:s=s+`enero `; break; case 2:s=s+`febrero `; break; case 3:s=s+`marzo `; break; case 4:s=s+`abril `; break; case 5:s=s+`mayo `; break; case 6:s=s+`junio `; break; case 7:s=s+`julio `; break; case 8:s=s+`agosto `; break; case 9:s=s+`septiembre `; break; case 10:s=s+`octubre `; break; case 11:s=s+`noviembre `; break; case 12:s=s+`diciembre `; break; } //fin del switch s=s+`de `+año; return s; } document.write(formatearFecha(11,6,2006)); </script> </body> </html> ?>//esto no va Analicemos un poco la función formatearFecha. Llegan tres parámetros con el día, mes y año. Definimos e inicializamos una variable con: <?php //esto no va var s=`Hoy es `+dia+` de `; ?>//esto no va Luego le concatenamos o sumamos el mes: <?php //esto no va s=s+`enero `; ?>//esto no va Esto, si el parámetro mes tiene un uno. Observemos como acumulamos lo que tiene `s` más el string `enero `. En caso de hacer s=`enero ` perderíamos el valor previo que tenía la variable s. Por último concatenamos el año: <?php //esto no va s=s+`de `+año; ?>//esto no va Cuando se llama a la función directamente, al valor devuelto se lo enviamos a la función write del objeto document. Esto último lo podemos hacer en dos pasos: <?php //esto no va var fec= formatearFecha(11,6,2006); document.write(fec); ?>//esto no va Guardamos en la variable `fec` el string devuelto por la función.
Funciones que retornan un valor Son comunes los casos donde una función, luego de hacer un proceso, retorne un valor. Ejemplo 1: Confeccionar una función que reciba un valor entero comprendido entre 1 y 5. Luego retornar en castellano el valor recibido. <?php //esto no va <html> <head> </head> <body> <script language="javascript"> function convertirCastellano(x) { if (x==1) return "uno"; else if (x==2) return "dos"; else if (x==3) return "tres"; else if (x==4) return "cuatro"; else if (x==5) return "cinco"; else return "valor incorrecto"; } var valor; valor=prompt("Ingrese un valor entre 1 y 5",""); valor=parseInt(valor); var r; r=convertirCastellano(valor); document.write(r); </script> </body> </html> ?>//esto no va Podemos ver que el valor retornado por una función lo indicamos por medio de la palabra clave return. Cuando se llama a la función, debemos asignar el nombre de la función a una variable, ya que la misma retorna un valor. Una función puede tener varios parámetros, pero sólo puede retornar un único valor. La estructura condicional if de este ejemplo puede ser remplazada por la instrucción switch, la función queda codificada de la siguiente manera: <?php //esto no va function convertirCastellano(x) { switch (x) { case 1:return "uno"; case 2:return "dos"; case 3:return "tres"; case 4:return "cuatro"; case 5:return "cinco"; default:return "valor incorrecto"; } } ?>//esto no va Esta es una forma más elegante que una serie de if anidados. La instrucción switch analiza el contenido de la variable x con respecto al valor de cada caso. En la situación de ser igual, ejecuta el bloque seguido de los 2 puntos hasta que encuentra la instrucción return o break. Ejemplo 2: Confeccionar una función que reciba una fecha con el formato de día, mes y año y retorne un string con un formato similar a: "Hoy es 10 de junio de 2003". <?php //esto no va <html> <head> </head> <body> <script language="javascript"> function formatearFecha(dia,mes,año) { var s=`Hoy es `+dia+` de `; switch (mes) { case 1:s=s+`enero `; break; case 2:s=s+`febrero `; break; case 3:s=s+`marzo `; break; case 4:s=s+`abril `; break; case 5:s=s+`mayo `; break; case 6:s=s+`junio `; break; case 7:s=s+`julio `; break; case 8:s=s+`agosto `; break; case 9:s=s+`septiembre `; break; case 10:s=s+`octubre `; break; case 11:s=s+`noviembre `; break; case 12:s=s+`diciembre `; break; } //fin del switch s=s+`de `+año; return s; } document.write(formatearFecha(11,6,2006)); </script> </body> </html> ?>//esto no va Analicemos un poco la función formatearFecha. Llegan tres parámetros con el día, mes y año. Definimos e inicializamos una variable con: <?php //esto no va var s=`Hoy es `+dia+` de `; ?>//esto no va Luego le concatenamos o sumamos el mes: <?php //esto no va s=s+`enero `; ?>//esto no va Esto, si el parámetro mes tiene un uno. Observemos como acumulamos lo que tiene `s` más el string `enero `. En caso de hacer s=`enero ` perderíamos el valor previo que tenía la variable s. Por último concatenamos el año: <?php //esto no va s=s+`de `+año; ?>//esto no va Cuando se llama a la función directamente, al valor devuelto se lo enviamos a la función write del objeto document. Esto último lo podemos hacer en dos pasos: <?php //esto no va var fec= formatearFecha(11,6,2006); document.write(fec); ?>//esto no va Guardamos en la variable `fec` el string devuelto por la función.