function

  • Enlace amigable (slug) de la revisión: JavaScript/Reference/Operators/function
  • Título de la revisión: function
  • Id de la revisión: 302579
  • Creada:
  • Creador: jesanchez
  • ¿Es la revisión actual?
  • Comentario

Contenido de la revisión

Resumen

El operador function define una función dentro de una expresión.

Operador
Implementado en: JavaScript 1.5
Versión ECMA: ECMA-262, Edition 3

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 similr y tiene casi la misma sintaxis que la declaración de una función (véase  Función 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);
  }
};

Consulte también

Funciones, Función, Declaración de función

Fuente de la revisión

<h2 id="Summary" name="Summary">Resumen</h2>
<p>El operador <code>function</code> define una función dentro de una expresión.</p>
<table class="fullwidth-table" style="width: auto;">
  <tbody>
    <tr>
      <td class="header" colspan="2">Operador</td>
    </tr>
    <tr>
      <td>Implementado en:</td>
      <td>JavaScript 1.5</td>
    </tr>
    <tr>
      <td>Versión ECMA:</td>
      <td>ECMA-262, Edition 3</td>
    </tr>
  </tbody>
</table>
<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 similr y tiene casi la misma sintaxis que la declaración de una función (véase&nbsp; <a href="/en/JavaScript/Reference/Statements/function" title="en/Core_JavaScript_1.5_Reference/Statements/function">Función</a> para más detalles). Véase <a href="/en/JavaScript/Reference/Functions_and_function_scope" title="En/Core_JavaScript_1.5_Reference/Functions_and_function_scope">Funciones</a> para ver más información sobre las diferencias&nbsp; 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.C3.B3n_de_funci.C3.B3n_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 <a href="/en/JavaScript/Reference/Functions_and_function_scope/arguments/callee" title="en/JavaScript/Reference/Functions and function scope/arguments/callee">arguments.callee</a>.</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>
<p><a href="/en/JavaScript/Reference/Functions_and_function_scope" title="En/Core_JavaScript_1.5_Reference/Functions_and_function_scope"><code>Funciones</code></a>, <code><a href="/en/JavaScript/Reference/Global_Objects/Function" title="en/Core_JavaScript_1.5_Reference/Global_Objects/Function">Función</a></code>, <code><a href="/en/JavaScript/Reference/Statements/function" title="en/Core_JavaScript_1.5_Reference/Statements/function">Declaración</a></code><code><a href="/en/JavaScript/Reference/Statements/function" title="en/Core_JavaScript_1.5_Reference/Statements/function"> de función </a></code></p>
Revertir a esta revisión