¿Ejecutar automáticamente las funciones de javascript Y llamarlas más tarde?
Frecuentes
Visto 49,211 veces
25
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.
1 Respuestas
45
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
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas javascript jquery function or haz tu propia pregunta.
¿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