11. Funcions: arguments i extracció de valors

 

Índex

Classes de variables

Les variables creades amb var tenen un abast local: si les creem en l'interior d'una funció d'usuari, només es poden fer servir dins aquesta.

Si en crear una variable prescindim del terme var, aquesta adquireix un caràcter general: es pot fer servir arreu.

El terme var emprat fora d'una funció d'usuari no fa cap efecte: és indiferent d'usar-lo o no.

Exemple

 

Arguments en les funcions d'usuari

Quan una funció fa servir una o més dades exteriors a la pròpia funció, podem representar-les mitjançant una variable, el nom de la qual és el mateix a l'interior que a l'exterior de la funció.

Però en moltes ocasions és convenient que la variable a l'interior de la funció tingui un nom diferent que a l'exterior, recurs útil si a partir d'un determinat punt del programa s'altera l'una i no convé que s'alteri l'altra, o si la mateixa funció es fa servir en contextos diferents. En aquests casos entren en joc els arguments de la funció. En definir la funció, s'hi defineixen un o més arguments, i si n'hi ha més d'un, els noms es separen per comes. A l'interior de la funció els noms assignats als arguments funcionen com variables ordinàries:

 

Execució de les funcions amb arguments

En un altre punt del programa s'executa la funció; per a això, en els llocs corresponents als arguments s'indiquen els valors que hi corresponen.

En els casos més simples, el valor d'un argument s'indica mitjançant una variable (en sentit estricte).

Exemple

Però qualsevol portador de valor pot assignar el valor d'un argument. Així doncs, el valor d'un argument pot ésser, a més:

Exemple

 

Extracció de valors d'una funció d'usuari

Els valors calculats en una funció d'usuari es poden fer servir a l'exterior de la funció, a condició que siguin assignats a una variable de tipus general. Aquest recurs és obligatori si hi ha més d'un valor calculat que s'hagi de fer servir a fora.

Però si n'hi ha una de sola, podem fer que la pròpia funció adquireixi el valor calculat; això s'aconsegueix amb un return aplicat a una variable que en representi el resultat:

Exemple

La instrucció return també es pot aplicar a una expressió:

Exemple

 

Execució sense funcions d'usuari

D'una manera habitual, les instruccions de JavaScript s'agrupen en funcions d'usuari, definides a HEAD i executades a BODY. Però també és possible l'execució directa d'instruccions d'assignació i de funcions predefinides a BODY. Aquests recurs sol limitar-se als casos més senzills, ja que altrament la formulació dels programes esdevé complexa i farragosa:

Exemple