Las funciones en Javascript se pueden manipular tal como se hace con las variables. He aquí unos ejemplos.
var porDos = function(n) { return 2*n; };
console.log("4 x 2 = "+porDos(4));
// Output:
// 4 x 2 = 8
La función que multiplica un número N por dos se almacenó en la variable "porDos". Para evaluar la función se usó el nombre de la variable con el argumento definido en la declaración "function(n)".
Otro ejemplo:
Cumplen las reglas de composición:
Una función puede retornar otra función:
Una función se puede pasar como argumento:
Probando:
También:
Otro ejemplo:
var porTres = function(n) { return 3*n; };
console.log("4 x 3 = "+porTres(4));
// Output:
// 4 x 3 = 12
Cumplen las reglas de composición:
var porCinco = function(n) {
return porDos(n) + porTres(n);
};
console.log("4 x 5 = "+porCinco(4));
// Output:
// 4 x 5 = 20
var porSeis = function(n) {
return porDos(porTres(n));
};
console.log("4 x 6 = "+porSeis(4));
// Output:
// 4 x 6 = 24
Una función puede retornar otra función:
var fabricaPorM = function(M) {
return function(n) {
return M*n;
};
};
var porOcho = fabricaPorM(8);
console.log("4 x 8 = "+porOcho(8));
// Output:
// 4 x 8 = 32
Una función se puede pasar como argumento:
var multiplosHastaDiez = function(fnMultiplicar) {
var valIni = fnMultiplicar(1);
console.log("Multiplos de "+valIni+" del 1 al 10");
for(var i=1;i<=10;i++) {
console.log(""+i+" x "+valIni+" = "+fnMultiplicar(i));
}
}
Probando:
multiplosHastaDiez(porCinco); // Output: // Multiplos de 5 del 1 al 10 // 1 x 5 = 5 // 2 x 5 = 10 // 3 x 5 = 15 // 4 x 5 = 20 // 5 x 5 = 25 // 6 x 5 = 30 // 7 x 5 = 35 // 8 x 5 = 40 // 9 x 5 = 45 // 10 x 5 = 50
También:
multiplosHastaDiez(fabricaPorM(9)); // Output: // Multiplos de 9 del 1 al 10 // 1 x 9 = 9 // 2 x 9 = 18 // 3 x 9 = 27 // 4 x 9 = 36 // 5 x 9 = 45 // 6 x 9 = 54 // 7 x 9 = 63 // 8 x 9 = 72 // 9 x 9 = 81 // 10 x 9 = 90
No hay comentarios:
Publicar un comentario