Creo que tiene que ser una pregunta fácil pero he estado buscando y no he encontrado la respuesta en ningún lado.Cuándo se ejecutan las funciones de Javascript
El pienso es que tengo una página html con algunas secuencias de comandos (en el cuerpo) como éste:
<script type="text/javascript">grf();</script>
La función GRF() se define en un archivo .js externo. La pregunta es: ¿se ejecuta esta función una vez que el navegador ha cargado la página Y todos sus archivos js externos? ¿O puede ser el caso de que la función se ejecute antes de que se carguen los archivos .js? Y si es así, ¿cómo puedo evitar esto?
Gracias por responder la primera pregunta sobre cuándo se ejecutan las funciones . Para la segunda pregunta, parece que la mayoría de ustedes está de acuerdo en que la mejor opción es usar jQuery. Sin embargo, me preguntaba si es posible saber si una función está definida (cargada) o no. Por ejemplo, puedo hacer algo como esto para asegurar que un elemento ha sido cargado: function ff() {if (! Document.getElementById ('elem')) setTimeout ('ff()', 250); // Desde aquí puedo usar 'elem'} Pero, ¿hay alguna manera de saber si se define una función? – Victor
@victor - prueba usando: if (typeof (functionName)! = 'Undefined') {// función existe} – x0n
Si no usa libs y desea ejecutar código que use el DOM, la forma más confiable es agregar la etiqueta de secuencia de comandos después de la etiqueta de cuerpo cerrado, en lugar del mecanismo de votación que está utilizando. –