JavaScript funciones se definen con la etiquetafunction
palabra clave.
puede utilizar una declaración de función o una expresión de función.
declaraciones de funciones
anteriormente en este tutorial, aprendió que las funciones se declaran con la siguiente sintaxis:
//code to be executed
}
Las funciones declaradas no se ejecutan inmediatamente., Se «guardan para su uso posterior», y se ejecutarán más tarde, cuando se invoquen (se invoquen).
ejemplo
return a * b;
}
Try It Yourself »
punto y coma se utilizan para separar las instrucciones JavaScript ejecutables.
dado que una declaración de función no es una declaración ejecutable, no es común terminarla con un punto y coma.
expresiones de función
Una función JavaScript también se puede definir usando una expresión.,
Una expresión de función puede ser almacenado en una variable:
Ejemplo
pruébelo usted Mismo »
Después de una expresión de función ha sido almacenado en una variable, la variable puede ser usada como una función:
Ejemplo
var z = x(4, 3);
pruébelo usted Mismo »
La función de arriba es en realidad una función anónima (una función sin nombre).
Las funciones almacenadas en variables no necesitan nombres de función. Siempre son invocados (llamados) usando el nombre de la variable.,
la función anterior termina con un punto y coma porque es parte de una instrucción ejecutable.
El Constructor Function ()
como ha visto en los ejemplos anteriores, las funciones de JavaScript se definen con la palabra clavefunction
.
Las funciones también se pueden definir con un constructor de funciones JavaScript integrado llamado Function()
.,
ejemplo
var x = myFunction(4, 3);
pruébelo usted mismo »
en realidad no tiene que usar el constructor de funciones. El ejemplo anterior es el mismo que escribir:
Example
var x = myFunction (4, 3);
pruébelo usted mismo »
La mayoría de las veces, puede evitar usar la palabra clave new
en JavaScript.,
función de elevación
anteriormente en este tutorial, aprendió sobre «elevación» (Elevación JavaScript).
Hoisting es el comportamiento predeterminado de JavaScript de mover declaraciones a la parte superior del ámbito actual.
El levantamiento se aplica a las declaraciones de variables y a las declaraciones de funciones.
debido a esto, las funciones JavaScript se pueden llamar antes de que se declaren:
function myFunction(y) {
return y * y;
}
Las funciones definidas usando una expresión no se izan.,
Funciones Auto invocables
Las expresiones de función se pueden hacer «auto invocables».
una expresión auto invocable se invoca (inicia) automáticamente, sin ser llamada.
Las expresiones de función se ejecutarán automáticamente si la expresión es seguida por ().
no puede invocar automáticamente una declaración de función.
debe agregar paréntesis alrededor de la función para indicar que es una expresión de función:
Example
var x = «Hello!!,»; / / I will invoke myself
}) ();
Try It Yourself »
la función anterior es en realidad una función Auto invocante anónima (función sin nombre).,
las funciones se pueden usar como valores
Las funciones JavaScript se pueden usar como valores:
ejemplo
return a * b;
}
var x = myFunction(4, 3);
pruébalo tú mismo «
Las funciones JavaScript se pueden usar en expresiones:
ejemplo /h3>
function Myfunction(a, b) {
return a * b;
}
var x = myfunction(4, 3) * 2;
return a * b;
}
var x = myfunction(4, 3) * 2;
pruébelo usted mismo »
las funciones son objetos
el operador typeof
en JavaScript devuelve «function» para funciones.,
pero, las funciones de JavaScript pueden describirse mejor como objetos.
Las funciones JavaScript tienen propiedades y métodos.
la propiedad arguments.length
devuelve el número de argumentos recibidos cuando se invoca la función:
Example
devuelve argumentos.length;
}
pruébelo usted mismo «
el método toString()
devuelve la función como una cadena:
ejemplo
return a * b;
}
var txt = myFunction.,toString ();
Try It Yourself »
una función definida como la propiedad de un objeto, se llama un método al objeto.
Una función diseñada para crear nuevos objetos, se llama constructor de objetos.
Arrow Functions
Arrow functions permite una sintaxis corta para escribir expresiones de función.
no necesita la palabra clave function
, la palabra clave return
y los corchetes.,
Ejemplo
var x = function(x, y) {
return x * y;
}
// ES6
const x = (x, y) => x * y;
pruébelo usted Mismo »
Flecha funciones no tienen su propio this
.No son muy adecuados para definir métodos de objeto.
Las funciones de flecha no están izadas. Deben definirse antes de ser utilizados.
Usando const
es más seguro que usar var
, porque una expresión de función es siempre un valor constante.,
solo puede omitir la palabra clave return
y los corchetes si la función es una sola instrucción. Debido a esto, podría ser un buen hábito mantenerlos siempre:
ejemplo
pruébelo usted mismo »
Las funciones de flecha no son compatibles con IE11 o anteriores.