Resumen
El operador function
define una función dentro de una expresión.
Sintaxis
function [name]([param1, param2, ..., paramN]) { statements }
Parámetros
name
- El nombre de la función. Puede ser omitido, en cuyo caso la función es anonymous. El nombre sólo es local para el cuerpo de la función.
paramN
- El nombre de un argumento que será pasado a la función. Una función puede tener hasta 255 argumentos.
statements
- Las declaraciones que conforman el cuerpo de la función.
Descripción
La expresión de una función es muy similar y tiene casi la misma sintaxis que la declaración de una función (véase function
para más detalles). Véase Funciones para ver más información sobre las diferencias entre declaraciones de funciones y expresiones de funciones.
Ejemplos
El siguiente ejemplo define una función sin nombre y se le asigna a la variable x. La función devuelve como resultado el cuadrado de su argumento:
var x = function(y) { return y * y; };
Expresión de función nombrada
Si quiere referirse a la función actual dentro del cuerpo de la función, debe crear una expresión de función nombrada. Luego, este nombre será local solo para el cuerpo de la función (alcance). Esto también evita usar la propiedad no estándar arguments.callee
.
var math = { 'factorial': function factorial(n) { if (n <= 1) return 1; return n * factorial(n - 1); } };