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ó que generi una cadena de text o un nombre, com que equival a una variable, pot ésser emprat 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
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
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