aboutsummaryrefslogtreecommitdiff
path: root/files/es/web/javascript/reference/operators/function/index.html
blob: d5739239b2f4895766cf9e99b6273bdce12f314f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
---
title: function
slug: Web/JavaScript/Referencia/Operadores/function
tags:
  - Function
  - JavaScript
  - Operator
  - Primary Expressions
translation_of: Web/JavaScript/Reference/Operators/function
---
<div>{{jsSidebar("Operators")}}</div>

<h2 id="Summary" name="Summary">Resumen</h2>

<p>El operador <code>function</code> define una función dentro de una expresión.</p>

<h2 id="Syntax" name="Syntax">Sintaxis</h2>

<pre class="eval">function [<em>name</em>]([<em>param1</em>, <em>param2</em>, ..., <em>paramN</em>]) {
   <em>statements</em>
}
</pre>

<h2 id="Parameters" name="Parameters">Parámetros</h2>

<dl>
 <dt><code>name</code></dt>
 <dd>El nombre de la función. Puede ser omitido, en cuyo caso la función es <em>anonymous</em>. El nombre sólo es local para el cuerpo de la función.</dd>
</dl>

<dl>
 <dt><code>paramN</code></dt>
 <dd>El nombre de un argumento que será pasado a la función. Una función puede tener hasta 255 argumentos.</dd>
</dl>

<dl>
 <dt><code>statements</code></dt>
 <dd>Las declaraciones que conforman el cuerpo de la función.</dd>
</dl>

<h2 id="Description" name="Description">Descripción</h2>

<p>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 <a href="/es/docs/Web/JavaScript/Referencia/Funciones">Funciones</a> para ver más información sobre las diferencias  entre declaraciones de funciones y expresiones de funciones.</p>

<h2 id="Examples" name="Examples">Ejemplos</h2>

<p>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:</p>

<pre class="brush: js">var x = function(y) {
   return y * y;
};
</pre>

<h3 id="Expresión_de_función_nombrada">Expresión de función nombrada</h3>

<p>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")}}.</p>

<pre class="brush: js">var math = {
  'factorial': function factorial(n) {
    if (n &lt;= 1)
      return 1;
    return n * factorial(n - 1);
  }
};
</pre>

<h2 id="See_also" name="See_also">Consulte también</h2>

<ul>
 <li><a href="/es/docs/Web/JavaScript/Referencia/Funciones">Funciones</a></li>
 <li>{{jsxref("Function")}}</li>
 <li>Sentencias {{jsxref("Sentencias/function", "function")}}</li>
</ul>