JavaScript компилируется в двоичный файл? - PullRequest
0 голосов
/ 12 сентября 2018

JavaScript работает поверх веб-браузера?

Как Java работает поверх JVM?

Или он на самом деле скомпилирован в двоичный код и работает на компьютере?

Ответы [ 3 ]

0 голосов
/ 12 сентября 2018

Javascript на самом деле не скомпилирован - он интерпретируется в браузере, так что да, он действительно «работает поверх браузера» на стороне клиента.

РЕДАКТИРОВАТЬ: я должен был начать с того, что этобазовый уровень.Как уже упоминалось в комментарии к этому, сейчас есть более сложные двигатели.

0 голосов
/ 24 сентября 2018

V8 (в Google Chrome) содержит интерпретатор JS и JIT (Just-in-time) компилятор.Код JS преобразуется в специфичный для V8 байт-код.Байт-код первоначально интерпретируется интерпретатором, который называется «зажигание».Когда функция становится «горячей» (она часто запускается), JIT-компилятор TurboFan выдает оптимизированный машинный код из байт-кода.

Другие современные движки JS используют аналогичные стратегии.Таким образом, JS может интерпретироваться или компилироваться в машинный код (с использованием JIT-компилятора), подобно тому, как работают JVM, да.

0 голосов
/ 12 сентября 2018

Должно быть - ничто не может работать на компьютере, не являясь соответствующим машинным кодом для процессора.

V8 преобразует JavaScript в свой собственный байт-код, затем сильно оптимизируется и преобразуется в машинный код.

Даже JVM делает нечто подобное. JVM преобразует байт-код Java в машинный код.

...