Incluso los programas más sencillos tienen la necesidad de dividirse. Las funciones son los únicos tipos de subprogramas que acepta JavaScript. Tienen la siguiente estructura:
function nombre(argumento1, argumento2,..., argumento n) { código de la funcion }
Los parámetros se pasan por valor. Eso significa que si cambiamos el valor de un argumento dentro de una función, este cambio no se verá fuera:
function sumarUno(num) { num++; } var a = 1: sumarUno(a);
En este ejemplo, a seguirá valiendo 1 después de llamar a la función. Esto tiene una excepción, que son las referencias. Cuando se cambia el valor de una referencia dentro de una función también se cambia fuera.
Para devolver un valor de retorno desde la función se utiliza la palabra reservada return:
function cuadrado(num) { return num * num; } a = cuadrado(2);
En este ejemplo, a valdrá 4.
Se pueden definir funciones con un número variable de argumentos. Para poder luego acceder a dichos parámetros dentro de la función se utiliza el vector arguments. Este ejemplo sumaría el valor de todos los parámetros:
function sumarArgumentos() { resultado = 0; for (i=0; i<arguments.length; i++) resultado += arguments[i]; return resultado; }
JavaScript dispone de las siguientes funciones predefinidas:
mensaje = 'Hola'; eval("alert('" + mensaje + "');");
Este ejemplo nos muestra una ventana con un saludo.
parseInt("3453");
Devuelve el número 3453.
parseFloat("3.12.3");
Este ejemplo devuelve NaN ya que la cadena no contiene un número real válido.