Мне интересно узнать, как работает интерпретатор JavaScript (движок, если хотите). Я знаю, что JavaScript не компилируется. Я просмотрел спецификацию ECMA, но не объясняет, как работает настоящий движок.Как работают интерпретаторы/двигатели JavaScript?
Основная причина, по которой я спрашиваю об этом, заключается в том, что я хотел бы понять, почему IE7 ведет себя несколько иначе, чем IE8 или Firefox 3.5+.
Я подозреваю, что некоторые вызовы функций обрабатываются в другом порядке, но я хотел бы точно знать.
Я также просмотрел несколько видео с помощью google-переговоров по оптимизации JavaScript, а также видео JavaScript: Good Parts. Они коснулись этой темы вкратце.
Спасибо
ECMA спецификация, как и во многих языках программирования спецификации, определяет синтаксис и семантику языка, а не реализации. Вот почему вы не увидите «объяснения» механизма Javascript. –
Если вы докажете пример того, что видите, я могу объяснить, в чем разница и почему она изменилась. – chuckj