Definición de funciones de JavaScript
- Página anterior Referencia de objeto JS
- Página siguiente Parámetros de función JS
Las funciones de JavaScript se definen a través de function
palabra clavedefinir.
Puedes usar funcionesEl Hoisting es el mecanismo por el que JavaScripto funciónExpresión。
declaración de función
En el tutorial anterior, aprendiste a definir funciones utilizando la siguiente sintaxisEl Hoisting es el mecanismo por el que JavaScriptFunción:
function nombreDeFunción(parámetros) { El código a ejecutar }
Las funciones declaradas no se ejecutan directamente. Se 'guardan para usar más tarde' y se ejecutarán más tarde, cuando se llamen.
Ejemplo
function myFunction(a, b) { return a * b; }
El punto y coma se usa para separar instrucciones ejecutables de JavaScript.
Dado que la funciónEl Hoisting es el mecanismo por el que JavaScriptNo son instrucciones ejecutables, no terminan con punto y coma y no es común.
expresión de función
Las funciones de JavaScript también pueden usarExpresiónpara definir.
La expresión de la función se puede almacenar en una variable:
Ejemplo
var x = function (a, b) {return a * b};
Después de almacenar la expresión de la función en una variable, esta variable se puede usar como una función:
Ejemplo
var x = function (a, b) {return a * b}; var z = x(4, 3);
;Función anónimaFunción autoinvocada anónima
Las funciones almacenadas en variables no necesitan un nombre. Siempre se llaman utilizando el nombre de la variable.
La función anterior termina con un punto y coma porque es parte de una instrucción ejecutable.
constructor Function()
Como viste en los ejemplos anteriores, las funciones de JavaScript se definen a través de function
palabra clave.
Las funciones también pueden definirse mediante un nombre de Function()
Function()
Ejemplo
para definir las funciones integradas de JavaScript. Las funciones JavaScript se pueden usar como valores:
var myFunction = new Function("a", "b", "return a * b");
Ejemplo
Realmente no necesita usar el constructor de función. El ejemplo también es así: Las funciones JavaScript se pueden usar como valores:
var myFunction = function (a, b) {return a * b}; En la mayoría de los casos, puede evitar usar
new
palabra clave.
elevación de funciones
en el tutorial anterior, ya ha aprendido "elevación" (hoisting).El Hoisting es el mecanismo por el que JavaScriptDeclaración
El comportamiento predeterminado de mover a la cima del ámbito actual.
El Hoisting se aplica a las declaraciones de variables y funciones.
Por lo tanto, las funciones JavaScript pueden llamarse antes de su declaración: myFunction(5); function myFunction(y) { }
return y * y;
Las funciones definidas por expresiones no se elevan.
Función autoinvocada
La expresión de función puede actuar como "autoinvocada".
expresión autoinvocada es llamada automáticamente (inicia), sin hacer una llamada. }
。
La expresión de función se ejecuta automáticamente, si la expresión está seguida de
No puede autoinvocar una declaración de función.
Ejemplo
Necesita agregar paréntesis alrededor de la función para indicar que es una expresión de función: (function () { var x = "Hello!!"; // Me voy a llamar a mí mismo}()
;La función anterior es realmente unaFunción autoinvocada anónima
(funciones anónimas sin nombre)。
Las funciones se pueden usar como valores
Ejemplo
function myFunction(a, b) { return a * b; } Las funciones JavaScript se pueden usar como valores:
var x = myFunction(4, 3);
Ejemplo
function myFunction(a, b) { return a * b; } Las funciones JavaScript se pueden usar en expresiones:
var x = myFunction(4, 3) * 2;
las funciones en JavaScript son objetos typeof
El operador devuelve "function
"。
pero es mejor describir las funciones JavaScript como objetos.
las funciones JavaScript tienenlas propiedadesyLa función。
arguments.length
retornará el número de argumentos recibidos cuando se llama a la función:
Ejemplo
function myFunction(a, b) { return arguments.length; }
toString()
La función devuelve una cadena:
Ejemplo
function myFunction(a, b) { return a * b; } var txt = myFunction.toString();
Las funciones definidas como propiedades de objeto se llaman métodos de objeto.
Las funciones diseñadas para crear nuevos objetos se llaman constructores de objetos (constructores de objeto).
Funciones flecha
Las funciones flecha permiten usar una sintaxis breve para escribir expresiones de función.
No es necesario el keyword function, la palabra clave return y los corchetes.
Ejemplo
// ES5 var x = function(x, y) { return x * y; } // ES6 const x = (x, y) => x * y;
Las funciones flecha no tienen su propio this. No son adecuadas para definir métodos de objeto.
Las funciones flecha no se elevan. Deben definirse antes de su uso.
Usar const es más seguro que usar var, ya que la expresión de función siempre es un valor constante.
Si la función es una única instrucción, se puede omitir la palabra clave return y los corchetes. Por lo tanto, mantenerlos puede ser una buena costumbre:
Ejemplo
const x = (x, y) => { return x * y };
Las versiones anteriores a IE11 no admiten funciones flecha.
- Página anterior Referencia de objeto JS
- Página siguiente Parámetros de función JS