Это определено в стандарте ECMAScript.
Сначала исходный текст (содержимое между тегами <script>
) преобразуется в серию токенов (согласно Лексической грамматике языка):
Исходный текст программы ECMAScript сначала преобразуется в
последовательность входных элементов, которые являются токенами, ограничителями строки,
комментарии или пробел. Исходный текст сканируется слева направо
правильно, многократно принимая максимально длинную последовательность символов
в качестве следующего элемента ввода.
Читайте здесь: http://es5.github.com/#x7
Эта серия токенов рассматривается как Программа, которая затем оценивается в соответствии с Синтаксической грамматикой языка, который определен в главах 11-14 стандарта ECMAScript.
Синтаксическая грамматика для ECMAScript приведена в пунктах 11, 12, 13
и 14. Эта грамматика имеет токены ECMAScript, определенные лексическим
грамматика как терминальные символы (5.1.2). Он определяет набор
спектакли, начиная с целевой программы, которые описывают, как
последовательности токенов могут формировать синтаксически правильный ECMAScript
программы.
Читайте здесь: http://es5.github.com/#x5.1.4
Он начинается в главе 14: http://es5.github.com/#x14
Обратите внимание, что каждый элемент <script>
представляет отдельную программу JavaScript.
Читайте здесь: Сколько программ JavaScript выполняется для одной веб-страницы в браузере?