Funciones anidadas en JavaScript
Las funciones son un bloque de código útil que se puede llamar en cualquier lugar requerido en un programa. Una función anidada es una función dentro de una función. Esta característica es compatible con muchos lenguajes de programación, incluido JavaScript.
Introduciremos funciones anidadas en JavaScript en este tutorial.
La función en el exterior se denomina función exterior. La función anidada en el interior se llama función interna. Cada función puede aceptar diferentes argumentos.
Se pueden implementar de la siguiente manera.
function a(x) { // Outer function
function b(y) { // inner function
return x - y;
}
return b;
}
console.log(a(5)(4))
Producción :
1
En el ejemplo anterior, a()
es la función externa y b()
es la función interna. El resultado final devuelto utiliza los argumentos de ambas funciones.
Las funciones son objetos de clase que pueden definirse en la función externa y crearse como una variable en cualquier parte de la función. Este método se llama curry.
Vea el código a continuación.
function outer(x) {
var w = function inner(y) {
return x * y;
} return w;
};
var outvar = outer(2);
console.log(outvar(4));
Producción :
8
Las funciones anidadas tienen otro beneficio. Se pueden utilizar para realizar cálculos dentro de otra función, incluso si se definen fuera.
Por ejemplo,
function calculate(a, b, fn) {
var c = a + b + fn(a, b);
return c;
}
function sum(a, b) {
return a + b;
}
function product(a, b) {
return a * b;
}
console.log(calculate(10, 20, sum));
console.log(calculate(10, 20, product));
Producción :
60
230