Hallo!
Ich kenne mich (noch) nicht sonderlich mit JavaScript aus. In einem Buch bin ich nun auf einen Quellcode gestoßen, der so ähnlich ausschaut:
JavaScript-Datei datei.js:
ausgabe = 'Hallo!';
HTML-Datei:
...
<script type="text/javascript" src="datei.js"></script>
</head>
<body>
<script type="text/javascript">
<!--
document.write(ausgabe);
//-->
...
Angeblich ist nun nicht definiert, wann die externe JavaScript-Datei nachgeladen wird. D.h. dass die Variable ausgabe zum Zeitpunkt der Ausgabe der document.write-Funktion möglicherweise noch nicht definiert sein könnte. Das Resultat wäre dann 1. eine JavaScript-Fehlermeldung, 2. dass nichts ausgegeben wird.
Um ehrlich zu sein, habe ich über dieses mögliche Problem bisher noch nirgends etwas gelesen. Ich hatte stets angenommen, dass die JavaScript-Datei in einem solchen Fall quasi erst einmal komplett in das HTML-Dokument eingebunden wird, bevor es nach dem </script> weitergeht.
In der 4. Auflage von David Flanagans >JavaScript - Das umfassende Referenzwerk< habe ich auf S. 219 folgenden Abschnitt gefunden:
Wie oben gesagt, werden über das src-Attribut eingebundene Scripten in der gleichen Reihenfolge ausgeführt wie Scripten, die direkt in der HTML-Datei stehen. Das bedeutet, dass sowohl der HTML-Parser als auch der JavaScript-Interpreter anhalten und warten müssen, bis die externe JavaScript-Datei geladen wurde.<
Demnach ist die Aussage in dem anderen Buch doch falsch? Das hat mich doch etwas verunsichert.