Как браузеры выполняют javascript

Я пытаюсь выяснить, используют ли веб-браузер интерпретатор для выполнения javascript или какой-то компилятор. Хорошо известно, что языки сценариев интерпретируются не скомпилированными; однако есть JScriptCompiler, который может скомпилировать javascript в MSIL. Это заставляет меня задаться вопросом, используют ли IE, FF, Chrome и т.д. Какой-то компилятор или интерпретатор.

Может ли кто-нибудь указать конкретный метод, в котором браузеры запускают javascript?

Ответ 1

В прошлом Javascript интерпретировался - и ничего более.

В последние два года браузеры внедряют новые механизмы Javascript, пытаясь скомпилировать некоторые части кода, чтобы ускорить Javascript.


Для получения дополнительной информации о том, что было сделано для Mozilla Firefox, вы должны взглянуть на:

Для получения дополнительной информации о движке Chrome вы хотите прочитать:

И для webkit (сафари):

Не уверен, что было (или делается) сделано в других браузерах, но я полагаю, что такая же вещь существует или будет существовать.


И, конечно, для получения дополнительной информации: движок JavaScript, на wikipedia.

Ответ 3

JScript - это язык сценариев, предоставляемый Microsoft. Его компиляция берется CLR. Также это можно интерпретировать. Он имеет более тесную интеграцию с Visual Studio.

Посмотрите http://msdn.microsoft.com/en-us/library/72bd815a%28v=vs.80%29.aspx для подробного описания Jscript.

Ответ 4

javascript-скрипты обычно интерпретируются в веб-браузерах (не уверены в хроме и V8), но кое-где вы можете найти отдельное программное обеспечение, которое может скомпилировать его более или менее правильно. Этот язык не так быстро, как многие другие, и его скорость и функциональность зависят от механизма браузеров.