12. Més usos de les funcions

 

Índex

Ús d'una funció dins una expressió

Una funció com ara prompt() genera un valor que pot ésser assignat a una variable:

Però en realitat la pròpia funció ja equival a una variable, de manera que es pot fer servir en l'interior d'una expressió:

El mateix es pot dir de qualsevol funció d'usuari proveïda de la instrucció return.

I també de les funcions predeterminades que generen un valor (càlculs matemàtics, modificacions de cadenes de text, presentació de dates i hores...

Exemple

 

Una funció com argument d'una altra

Una funció que generi una cadena de text o un nombre, com que equival a una variable, pot ésser emprada també en l'argument d'una altra, sense necessitat de crear una variable intermèdia.

Per exemple, podem programar

on el resultat de l'aplicació de la funció prompt() fa d'argument de la funció alert().

Això equival a

on fem servir com argument la variable preferit prèviament creada i proveïda de valor.

Exemple

Un cas anàleg és el de la funció confirm(), que genera els valors true o false, i que per tant pot ésser aplicat com qualsevol expressió de comparació:

Exemple

 

Una funció dins una altra

El cos d'una funció pot contenir d'altres funcions, predefinides o d'usuari, sense més limitacions que les imposades per la lògica de l'acció que se suposa que es vol obtenir.

Exemple

 

Ús recursiu de funcions

Una funció pot contenir com a instrucció la pròpia funció:

En absència de cap dispositiu especial, l'execució de la funció és indefinida. És el cas, per exemple, d'un programa que presenti l'hora en pantalla i l'actualitzi constantment. En d'altres casos, però, la recursivitat ha d'arribar a un punt final; en aquest cas és imprescindible de disposar algun mecanisme que detecti el moment adequat.

Exemple