Esattamente!O meglio, per scrivere il codice più correttamente:
Le funzioni, proprio perché non sono eseguite finché non richiamate esplicitamente, è più corretto metterle nella head della pagina. Così facendo vengono caricate prima della pagina stessa (che è tutto quello che contiene il body) e perciò sono immediatamente disponibili.codice:<html> <head> funzione js </head> <body> la mia div richiamo della funzione </body> </html>
Il browser legge ed esegue il codice sempre da sinistra verso destra e dall'alto verso il basso (come avviene in tutti i linguaggi del resto). Quindi è normale che se richiami una funzione che fa riferimento ad un oggetto che viene "letto" dopo, quell'oggetto ancora non esista.