Reihenfolge von JavaScript & lt; script & gt; Tag-Ausführungen nicht in gängigen Browsern garantiert?
Ist es wahr, dass es gibt keine Garantien in den wichtigsten Browsern, die die folgenden script-tags immer ausführen, sowohl sequentiell UND in der Reihenfolge der Deklaration? also sollte ich davon ausgehen, dass der folgende code wird nicht immer Ertrag x == 'ab' in Alarm?
<head>
<script type="text/javascript">
//tag A
var x = x || ''; x += 'a';
</script>
<script type="text/javascript">
//tag B
var x = x || ''; x += 'b';
</script>
</head>
<body>
<script type="text/javascript">
alert('x='+x);
<script>
</body>
... und es ist möglich, dass x wird stattdessen eine der folgenden:
- 'ba' - wenn tag-B wird ausgeführt, bevor Ein
- 'a' oder 'b' - race-Bedingung, wobei A und B parallel ausgeführt werden (Obwohl scheint, wie diese thread klar sagt, dass nur Browser weisen einen einzelnen thread, JS)
InformationsquelleAutor der Frage Nikita | 2010-07-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Reihenfolge der Ausführung dieser nicht dynamisch Hinzugefügt
script
tags sollten reinsequentially
in jedem browser:Ausschnitt aus dieser link:
Jedoch, die Dinge ändern könnte, sobald Sie sich:
defer
Attribut.InformationsquelleAutor der Antwort ChristopheD