¿Ejecutar automáticamente las funciones de javascript Y llamarlas más tarde?

Leí en muchos lugares que puede iniciar automáticamente funciones js al cargar haciendo:

$(function() {
    // code...
});

Or

var myFunc = function() {
   // code...
}();

Mi pregunta es, ¿cómo llamas a estas funciones más adelante? Porque la simple declaración

function myFunc() {
    // code...
}

se puede recuperar fácilmente pero no se inicia automáticamente. Tengo que llamarlos manualmente a todos en carga, y eso es molesto, ocupa espacios en el código y puede ser una fuente de error si olvido uno.

Si no entiendes mis explicaciones, aquí tienes un ejemplo:

Tengo un campo de "peso" y "altura" en mi formulario, y necesito calcular el IMC (índice de masa corporal). Cuando se carga la página, la base de datos completa el peso y la altura, luego inicio el cálculo cuando todo está listo. Pero luego, si el usuario cambia el peso o la altura, el IMC debe recalcularse inmediatamente. ¿Cuál es la mejor manera de hacer eso? Usar jquery o JS puro, no me importa.

Gracias.

preguntado el 22 de mayo de 12 a las 15:05

1 Respuestas

Una función inmediata reutilizable

var reference = (function thename(){

    //function body

    return thename; //return the function itself to reference

}()); //auto-run


reference(); //call it again
reference(); //and again

Tenga en cuenta que llamar a la función devuelve una referencia a la función que acaba de llamar.

var anotherReference = reference(); //anotherReference === reference

contestado el 22 de mayo de 12 a las 15:05

¿Importa si "referencia" y "nombre" son lo mismo? - Colita

@Willy tal vez (lo probé y funciona), pero me gustaría hacerlos diferentes para evitar confusiones. - Joseph

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.