Definiciones de Funciones JavaScript

Las funciones de JavaScript se definen con la palabra clavefunction.

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:

function nombreFunción (parámetros) {
/ / código a ejecutar
}

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

función myFunction(a, b) {
devuelve a * b;
}

Pruébalo tú mismo »

Los puntos y comas se usan para separar sentencias 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

También se puede definir una función JavaScript mediante una expresión.

Una expresión de función se puede almacenar en una variable:

Ejemplo

var x = function (a, b) {return a * b};

Pruébelo usted mismo «

Después de que una expresión de función se haya almacenado en una variable, la variable se puede usar como función:

Ejemplo

var x = function (a, b) {return a * b};
var z = x(4, 3);

Pruébelo usted mismo »

La función anterior 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 se invocan (invocan) 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 clave function.

Las funciones también se pueden definir con un constructor de funciones JavaScript integrado llamado Function().

Ejemplo

var myFunction = new Function(«a», «b», «return a * b»);
var x = myFunction(4, 3);

Pruébelo usted mismo »

En realidad no tiene que usar el constructor de funciones. El ejemplo anterior es lo mismo que escribir:

Ejemplo

var myFunction = function (a, b) {return a * b};
var x = myFunction (4, 3);

Pruébelo usted mismo »

La mayoría de las veces, puede evitar el uso de la palabra clave new en JavaScript.

Elevación de funciones

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 de JavaScript puede ser llamado antes de que se declare:

myFunction(5);
function myFunction(y) {
return y * y;
}

Funciones definidas utilizando una expresión que no está izada.

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 va seguida de ().

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:

Ejemplo

(function () {
var x = » Hello!!»; / / Me invocaré a mí mismo
})();

Pruébelo usted mismo »

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 de JavaScript se pueden usar como valores:

Ejemplo

función MiFunción(a, b) {
devuelve a * b;
}
var x = MiFunción (4, 3);

Pruébelo usted mismo «

Las funciones de JavaScript se pueden usar en expresiones:

Ejemplo

función MiFunción (a, b) {
devuelve a * b;
}
var x = MiFunción(4, 3) * 2;

Pruébelo Usted mismo «

Las funciones son objetos

El operador typeof en JavaScript devuelve «función» para funciones.

Pero, las funciones de JavaScript se pueden describir mejor como objetos.

Las funciones de JavaScript tienen propiedades y métodos.

La propiedad arguments.length devuelve el número de argumentos recibidos cuando se invocó la función:

Ejemplo

function myFunction (a, b) {
devuelve argumentos.length;
}

Pruébalo tú mismo »

El método toString() devuelve la función como una cadena:

Ejemplo

function myFunction (a, b) {
return a * b;
}
var txt = myFunction.toString ();

Pruébelo usted mismo »

Una función definida como la propiedad de un objeto, se llama método al objeto.
Una función diseñada para crear nuevos objetos, se llama constructor de objetos.

Funciones de flecha

Funciones de flecha permite una sintaxis corta para escribir expresiones de función.

No necesita la palabra clave function, la palabra clave return y los corchetes rizados.

Ejemplo

// ES5
var x = function(x, y) {
return x * y;
}
// ES6
const x = (x, y) => x * y;

pruébelo usted Mismo »

funciones no tienen su propiothis.No son muy adecuados para definir métodos de objetos.

Las funciones de flecha no están izadas. Deben definirse antes de ser utilizados.

Usar 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

const x = (x, y) = > { return x * y};

Pruébelo usted mismo »

Las funciones de flecha no son compatibles con IE11 o versiones anteriores.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

More: