Un mètode dins un altre

En primer lloc vam veure que l'argument d'una funció pot ésser una expressió que contingui literals i variables.

Després hem vist com alguns mètodes equivalien a variables.

Ara veurem la conseqüència lògica dels dos fets anteriors: un mètode, sol o formant part d'una expressió, pot fer d'argument d'una funció.


Observem curosament l'alert(). Malgrat l'aspecte de jeroglífic que pot tenir a primera vista, com que ens hi hem anat acostant prou de mica en mica, probablement no ens serà difícil d'entendre'l.

Fixem-nos-hi: l'alert() té, com sempre, un sol argument; ara, però, és una expressió complexa, que inclou fins i tot un mètode. Vegem-ne les parts:

  1. un literal de text: "Hola, ",
  2. un mètode: prompt(),
  3. un altre literal de text: "Acabes ... servir un ",
  4. una propietat d'objecte, navigator.appName, i
  5. un darrer literal de text, ".".

Tot plegat queda relligat pel signe de concatenació, +.

Però si els components fossin numèrics, també hi hauríem pogut fer servir operadors matemàtics. L'única condició és que l'expressió sigui legal i del tipus exigit per la funció.