--- title: function slug: Web/JavaScript/Reference/Operators/function tags: - Function - JavaScript - Operator - Primary Expressions translation_of: Web/JavaScript/Reference/Operators/function original_slug: Web/JavaScript/Referencia/Operadores/function ---
El operador function
define una función dentro de una expresión.
function [name]([param1, param2, ..., paramN]) { statements }
name
paramN
statements
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 {{jsxref("Sentencias/function", "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.
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; };
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 {{jsxref("Funciones/arguments/callee", "arguments.callee")}}.
var math = { 'factorial': function factorial(n) { if (n <= 1) return 1; return n * factorial(n - 1); } };