Function

Sumario

Cada función en JavaScript es actualmente un objeto Function.

Creado por

Como todos los demás objetos, Function se puede crear utilizando la instrucción new:

new Function ([arg1[, arg2[, ... argN]],] cuerpo-de-la-función)
arg1, arg2, ... argN
Nombres para ser utilizados por la función como nombres formales de argumento. Cada uno de ellos debe ser una cadena que corresponde a un identificador válido JavaScript o una lista de esas cadenas separadas por una coma; por ejemplo "x", "elValor", o "a,b".
cuerpo-de-la-función
Una cadena que contiene las instrucciones del código JavaScript y que conforma el cuerpo de la función.

Invocar el constructor de la Function como una función (sin usar el operador new ) tiene el mismo efecto que invocarla como un constructor.

Descripción

General

Los objectos Function creados con el constructor de la Function son evaluados cada vez que son usados. Esto no es tan eficiente como declarar una función y llamarla después dentro de tu código, porque las funciones declaradas se pasan una sola vez.

Especificar argumentos con el constructor de Function

El código siguiente crea un objeto Function que toma dos argumentos.

var multiplicar = new Function("x", "y", "return x * y");

Los argumentos "x" e "y" son nombres formales de argumentos que se usan en el cuerpo de la función, "return x * y".

El código precedente asigna una función a la variable multiplicar. Para llamar al objeto Function, puedes especificar el nombre de la variable como si fuera una función, como se muestra en el siguiente ejemplo.

var laRespuesta = multiplicar(7, 6);
var miEdad = 50;

if (miEdad >= 39) {
  miEdad = multiplicar(miEdad, .5);
}

Function prototype object

Propriedades

Function.arguments
Una matriz correspondiente a los argumentos pasados a una función. Como propiedad de una Function, este uso está obsoleto. Se recomenda el uso del objeto arguments.
Function.arity
Especifica el número de argumentos que espera la función. Se recomienda, no obstante, utilizar la función length.
Function.caller
Especifica la función que invoca la ejecución de la función actual (no estándar).
Function.constructor
Especifica la función que crea un prototipo de objeto.
Function.length
Specifica el número de argumentos esperados por la función.
Function.name
El nombre de la función (no forma parte del estándar).
Function.prototype
Permite añadir propiedades a los objetos función (ambos, los construidos usando Function y los declarados usando una declaración de función o una expresión de función).
Properties inherited from Object:

Métodos

Function.prototype.apply()
Le permite aplicar el método de otro objeto en el contexto de un objeto diferente (el objeto llamado).
Function.prototype.call()
Le Permite llamar (ejecutar) a un método de otro objeto en el contexto de un objeto diferente (el objeto que llama).
Function.prototype.toSource()
Devuelve una cadena que representa el código fuente de la función. Anula al método Object.toSource.
Function.prototype.toString()
Devuelve una cadena que representa el código fuente de la función. Anula al método Object.toSource.
 

Ejemplos

Ejemplo: Crear manejador de evento "focus" y "blur" para un marco (frame)

El siguiente ejemplo crea el manejador de eventos onFocus y onBlur para un marco. Este código existe en el mismo fichero que contiene la etiqueta frameset. Observe que este script es la únima forma de crear el manejador para los eventos "focus" y "blur" para un marco, porque no se pueden especificar manejadores de eventos dentro de la etiqueta frame.

var marco = frames[0];

marco.onfocus = new Function("document.body.style.backgroundColor = 'white';");
marco.onblur = new Function("document.body.style.backgroundColor = '#bbbbbb';");

Ver También

Etiquetas y colaboradores del documento

Contributors to this page: teoli, ethertank, Skorney, ADP13, Mgjbot, Sheppy
Última actualización por: teoli,