Funciones de JavaScript se definen con la function la palabra clave.
Se puede utilizar una declaración de función o una expresión de función.
Las declaraciones de funciones
Al principio de este tutorial, que ha aprendido que las funciones se declaran con la siguiente sintaxis:
function functionName ( parameters ) {
code to be executed
}
funciones declaradas no se ejecutan inmediatamente. Ellos son "salvados para su uso posterior", y se ejecutarán más adelante, cuando se invoca (llamados).
Punto y coma se utiliza para separar las sentencias JavaScript ejecutables.
Desde una declaración de función no es una sentencia ejecutable, que no es común para terminar con un punto y coma.
Las expresiones de función
Una función de JavaScript también se puede definir mediante una expresión.
Una expresión de función puede ser almacenado en una variable:
Después de una expresión de la función se ha almacenado en una variable, la variable puede ser utilizado como una función:
La función anterior es en realidad una función anónima (una función sin nombre).
Las funciones almacenadas en las variables no necesitan nombres de las funciones. Ellos siempre se invocan (llamada) usando el nombre de la variable.
La función anterior termina con un punto y coma, ya que es una parte de una instrucción ejecutable.
La Function() Constructor
Como se ha visto en los ejemplos anteriores, las funciones de JavaScript se definen con la function la palabra clave.
Las funciones también se pueden definir con un sistema incorporado en JavaScript función constructora llamada Function() .
Ejemplo
var myFunction = new Function("a", "b", "return a *
b");
var x = myFunction(4, 3);
Inténtalo tú mismo " En realidad no tiene que utilizar el constructor función. El ejemplo anterior es la misma que la escritura:
Ejemplo
var myFunction = function (a, b) {return a * b};
var x = myFunction(4, 3);
Inténtalo tú mismo " La mayoría de las veces, se puede evitar el uso de la new palabra clave en JavaScript.
Function Hoisting
Al principio de este tutorial, usted aprendió sobre "hoisting" .
Izado es el comportamiento predeterminado del movimiento de JavaScript declaraciones a la parte superior del ámbito actual.
Izado se aplica a las declaraciones de variables y para la declaración de funciones.
Debido a esto, las funciones de JavaScript puede ser llamado antes de que se declaran:
myFunction(5);
function myFunction(y) {
return y * y;
}
Las funciones definidas por el uso de una expresión no se izan.
Funciones de auto-Invocando
Las expresiones de función se pueden hacer "auto-invocación".
Una expresión de auto-invocación se invoca (iniciado) de forma automática, sin ser llamado.
Las expresiones de función se ejecutará automáticamente si la expresión es seguido por () .
No se puede auto-invocar una declaración de la función.
Usted tiene que agregar paréntesis alrededor de la función para indicar que se trata de una expresión de función:
La función anterior es en realidad una función de auto-invocando anónima (función sin nombre).
Las funciones pueden usarse como valores
funciones de JavaScript se pueden utilizar como valores:
funciones de JavaScript se pueden utilizar en las expresiones:
Ejemplo
function myFunction(a, b) {
return a * b;
}
var x = myFunction(4, 3) * 2;
Inténtalo tú mismo " Las funciones son objetos
El typeof operador en JavaScript devuelve "function" de funciones.
Pero, funciones de JavaScript se pueden describir mejor como objetos.
Funciones de JavaScript tienen ambas propiedades y métodos.
La propiedad arguments.length devuelve el número de argumentos recibió cuando se invoca la función:
El toString() método devuelve la función como una cadena:
Ejemplo
function myFunction(a, b) {
return a * b;
}
var txt =
myFunction.toString();
Inténtalo tú mismo " Una función se define como la propiedad de un objeto, se llama un método para el objeto.
Una función diseñada para crear nuevos objetos, se llama un constructor de objetos.