¿Hay alguna forma en Javascript para definir una función e invocarla de inmediato, de forma tal que permita su reutilización?Función de definición y llamada en un solo paso
Yo sé que puedes hacerlo de una sola vez funciones anónimas:
(function(i) {
var product = i * i;
console.log(product);
// Can't recurse here because there's no (ECMA standard) way for the
// function to refer to itself
}(2)); // logs 4
O puede nombrar una función luego llamarlo después:
function powers(i) {
var product = i * i;
console.log(i * i);
if (product < 1e6) { powers(product) };
}
powers(2); // Logs 4, 16, 256...
Pero hay una manera más limpia de definir y llamar una función de una vez? ¿Algo así como un híbrido de ambos ejemplos?
No poder hacer esto no me impide hacer nada, pero parece que sería una buena forma expresiva de escribir funciones recursivas o funciones que deben ejecutarse en $(document).ready()
pero también más adelante cuando cambien las situaciones, etc.
duplicado posible de [¿Puedo nombrar una función de JavaScript y ejecutarlo de inmediato?] (Http://stackoverflow.com/questions/6404196/can-i-name-a-javascript-function-and-execute -it-inmediatamente) – brichins