Estamos aprendendo sobre o uso de funcións en JavaScript e neste momento quizais xa nos decatamos de gran importancia que teñen que facer programas máis ou menos avanzados. Neste artigo no manual de JavaScript seguiremos aprendendo cousas sobre funcións e específicamente que tamén se poden devolver valores. Ademais, veremos algún caso de uso interesante sobre as funcións que poden aclarar un pouco o alcance das variables locais e globais.
Valores de devolución en funcións
As funcións en Javascript tamén poden devolver valores. De feito, este é un dos beneficios máis esenciais das funcións, que debemos coñecer, non só en JavaScript senón en xeral en ningunha linguaxe de programación. Entón, ao invocar unha función, pode realizar accións e ofrecer un valor como saída.
Por exemplo, unha función que calcula o cadrado dun número terá como entrada a ese número e como saída, terá o valor resultante para atopar o cadrado dese número. A entrada de datos nas funcións que a vimos anteriormente no artigo sobre parámetros das funcións. Agora temos que aprender sobre a saída.
Vexamos un exemplo dunha función que calcula a media de dous números. A función recibirá os dous números e devolverá o valor da media.
function media(valor1,valor2){ var resultado resultado = (valor1 + valor2) / 2 return resultado }
Para especificar o valor que devolverá a función utilízase o retorno de palabras seguido por o valor que desexa devolver. Neste caso, devólvese o contido da variable de resultado, que contén a media calculada dos dous números.
Podemos preguntarnos agora como recibir datos que devolve unha función. Realmente no código fonte dos nosos programas podemos invocar as funcións no lugar que desexamos. Cando unha función devolve un valor simplemente substitúese a chamada á función para ese valor que devolve. Entón, para almacenar un valor de retorno dunha función, temos que asignar a chamada a esa función como contido nunha variable e que o faremos co operador de asignación =.
Para ilustrar isto pode ver este exemplo, que chamará a función media () e gardará o resultado da media nunha variable para imprimir na páxina.
Retorno múltiple
En realidade, en JavaScript as funcións só poden devolver un valor, polo que, en principio, non podemos facer funcións que devolven dous datos diferentes.
Agora, aínda que só podemos devolver un dato, na mesma función podemos poñer máis dun retorno. Como dicimos, só imos poder devolver unha cousa, pero dependendo do que pasou na función pode ser dun tipo ou outro, con datos ou outros.
Nesta función podemos ver Un exemplo de uso de varias voltas. É unha función que devolve un 0 se o parámetro recibido foi par e o valor do parámetro se isto era raro.
function multipleReturn(numero){ var resto = numero % 2 if (resto == 0) return 0 else return numero }
para descubrir se hai un número é a parella que atopamos o resto da división ao dividila entre 2. Se o resto é cero é que era parella e volvemos un 0, se non: o número está impartindo o parámetro recibido.
Alcance de As variables en funcións
Dentro das funcións que podemos declarar as variables. Neste asunto debemos saber que todas as variables declaradas nunha función son locais a esa función, é dicir, só serán válidas durante a execución da función.
podería ser o caso de que poidamos declarar variables en funcións que teñen o mesmo nome que unha variable global á páxina. Entón, dentro da función, a variable que será válida é a variable local e fóra da función será válida para a variable global á páxina.
No seu lugar, se non decidimos as variables no JavaScript entenderase por JavaScript que nos referimos a unha variable global á páxina, polo que se a variable non se crea, crea, pero sempre global á páxina en vez de local á función.
Vexamos o seguinte código.
function variables_glogales_y_locales(){ var variableLocal = 23 variableGlobal = "qwerty"}
Neste caso variatelocal é unha variable que foi declarada na función, polo que será local para a función e só será válida durante a súa execución .. Doutra banda, VariableGlobal non foi declarada (porque antes de usalo, a palabra Var non se usou para declaralo). Neste caso, a variabilidade variable é global para toda a páxina e seguirá existindo mesmo se a función completa a súa execución. Ademais, se antes de chamar a función, a variable variable, como resultado da execución desta función, un valor hipotético desta variable sería esmagado e substituído por “QWERTY”.
Con isto rematamos o tema das funcións, de xeito que nos dedicaremos a outros asuntos interesantes, como as matrices en JavaScript.