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