Non è vero che le variabili definite nel primo script non sono visibili nel secondo, se definite globalmente (al di fuori di un funzione) sono visibili anche all'interno del secondo tag "script".
Considerando poi il fatto che il codice sorgente viene eseguito dall'alto verso il basso e che è possibile utilizzare il tag "script" all'interno del body è sicuramente possibile "interrompere" uno script per poi riprenderlo dopo avere, ad esempio, stampato una tabella.
edit: refusocodice:<body> <script> //Qui la tabella non è ancora presente nel DOM, a meno che non se ne attenda il caricamento </script> <table> <tr><td>...</td></tr> </table> <script> //qui la tabella è caricata nel DOM ed è quindi accessibile a Javascript. //Le variabili globali definite nel primo script sono visibili </script> </body>