Retorno de Valores

Post on 19-Aug-2015

213 views 0 download

description

Retorno de Valores

Transcript of Retorno de Valores

Retorno de valores Devolucin de valores en las funciones Las funciones enJavascript tambin puedenretornar valores. Dehecho, sta esuna de lasutilidades msesencialesdelasfunciones,quedebemosconocer,nosloenJavascriptsinoengeneralen cualquier lenguajede programacin.De modoque,al invocaruna funcin,se podrreali zaracciones y ofrecerun valorcomo salida.Porejemplo,unafuncinquecalculaelcuadradodeunnmerotendrcomoentradaaesenmero ycomosalidatendrelvalorresultantedehallarelcuadradodeesenmero.Laentradadedatos enlasfuncioneslavimosanteriormenteenelartculosobreparmetrosdelasfunciones.Ahora tenemosqueaprenderacercadelasalida. Veamosunejemplodefuncinquecalculalamediadedosnmeros.Lafuncinrecibirlosdos nmerosy retornarel valorde la media. functionmedia(valor1, val or2){ varresultado resultado= (valor1+ valor2)/ 2returnresultado } Paraespecificarelvalorqueretornarlafuncinseutilizalapalabrareturnseguidadeelvalorque sedeseadevolver.Enestecasosedevuelveelcontenidodelavariableresultado,quecontienela mediacalculadadelosdosnmeros. Quizsnospreguntemosahoracmorecibirundatoquedevuelveunafuncin.Realmenteenel cdigofuentedenuestrosprogramaspodemosinvocaralasfuncionesenellugarquedeseemos. Cuando unafuncindevuelveun valorsimplementesesustituye lallamadaala funcinporesevalor que devuelve.Aspues,paraalmacenarunvalor dedevolucindeunafuncin,tenemosqueasignar lallamadaaesafuncincomocontenidoenunavariable,yesoloharamosconeloperadorde asignacin=. Para ilustrar estose puedever este ejemplo,que llamara la funcinmedia() yguardar elresultado delamediaenunavariableparaluegoimprimirlaenlapgina. varmiMediamiMedia=media(12,8)document.write(miMedia) Mltiples return EnrealidadenJavascriptlasfuncionesslopuedendevolverunvalor,porloqueenprincipiono podemoshacerfuncionesquedevuelvandos datosdistintos.Nota:enlaprcticanadanosimpidequeunafuncindevuelvamsdeunvalor,perocomoslo podemosdevolverunacosa,tendramosquemetertodoslosvaloresquequeremosdevolverenuna estructuradedatos,comoporejemplounarray.Noobstante,esoseraunusomsomenos avanzadoqueno vamosa verenestos momentos. Ahorabien,aunqueslopodamosdevolverundato,enunamismafuncinpodemoscolocarms deunreturn.Comodecimos,slovamosapoderretornarunacosa,perodependiendodeloque hayasucedidoenlafuncinpodrserdeuntipouotro,conunosdatosuotros. Enestafuncinpodemosverunejemplodeutilizacindemltiplesreturn.Setratadeunafuncin quedevuelveun0 si el parmetrorecibidoerapary el valordelparmetrosi este era impar. functionmultipleReturn(numero){ varresto = numero% 2 if (resto== 0) return0 else returnnumero } Para averiguarsiunnmeroesparhallamoselrestode ladivisinaldividirloentre2.Sielrestoes ceroesqueeraparydevolvemosun0,encasocontrario-elnmeroesimpar-devolvemosel parmetrorecibido. mbito de las variables en funciones Dentro de lasfunciones podemosdeclarar variables.Sobre este asuntodebemos desaber quetodas lasvariablesdeclaradasenunafuncinsonlocalesaesafuncin,esdecir,slotendrnvalidez durantela ejecucindela funcin. Nota: Incluso, silo pensamos,nos podremosdar cuentaque losparmetros soncomo variablesque sedeclaranenlacabeceradelafuncinyqueseinicializanalllamaralafuncin.Losparmetros tambinson localesa la funciny tendrnvalidezslo cuandosta se est ejecutando. Podradarseelcasodequepodemosdeclararvariablesenfuncionesquetenganelmismonombre que unavariableglobalalapgina.Entonces,dentrodelafuncin,lavariablequetendrvalidezes lavariablelocalyfueradelafuncintendrvalidezlavariableglobalalapgina. En cambio,si nodeclaramoslas variablesen lasfuncionesse entenderpor javascriptqueestamos haciendoreferenciaaunavariableglobalalapgina,demodoquesinoestcreadalavariablela crea, perosiempreglobala la pginaenlugardelocal a la funcin.Veamosel siguientecdigo. functionvariables_glogales_y_l ocales(){ varvariableLocal= 23 variableGlobal= "qwerty" } EnestecasovariableLocalesunavariablequesehadeclaradoenlafuncin,porloqueserlocal a la funciny slotendr validez durantesu ejecucin.Por otra partevariableGlobal nose hallegado a declarar(porqueantesde usarlanosehautilizado lapalabravarpara decl ararla).Enestecasola variablevariableGlobalesglobalatodalapginayseguirexistiendoaunquelafuncinfinalicesu ejecucin.Adems,siantesdellamaralafuncinexistieselavariablevariableGlobal,como resultadodelaejecucindeestafuncin,semachacaraunhipotticovalordeesavariableyse sustituirapor"qwerty".