Краткое резюме

На собеседованиях часто задают вопросы о веб-браузерах. Например, процесс загрузки веб-страницы в браузере с момента ввода URL-адреса — один из наиболее часто задаваемых вопросов на собеседовании.

Здесь давайте поговорим конкретно о том, как работает javascript (JS).

JS — это язык сценариев на стороне клиента. Это означает, что ваш браузер (также известный как клиент) запускает его. Как?

Каждый браузер поставляется с JS Engine, который также действует как виртуальная машина, которая помогает нам запускать код.

Знаете ли вы, что разные браузеры используют разные движки JS?

👉🏻 Chrome использует V8
👉🏻 Edge использует Chakra
👉🏻 Firefox использует паукообразную обезьяну

Вот упрощенное описание того, что происходит:

  • Движок JS находит скрипт/код JS, проверяет синтаксис и анализирует его в абстрактное синтаксическое дерево (AST). Думайте об этом как о древовидном представлении кода. Этот шаг выполняется «парсером».
  • AST преобразуется в байт-код и запускается интерпретатором. В случае двигателя V8 интерпретатор называется «зажигание».
  • Байт-код и данные профилирования, сгенерированные во время его выполнения, передаются компилятору Just in time (JIT = компиляция во время выполнения), который может создавать высокооптимизированный машинный код.
  • В случае двигателя V8 компилятор называется «Turbofan».
  • В случае Chakra и Spider monkey в этих шагах есть некоторые различия, и они используют два оптимизирующих компилятора.

Остальные шаги и архитектура в большинстве движков JS аналогичны.

Я надеюсь, что вы получили хороший обзор.

Вот несколько ссылок для более глубокого изучения:







«Основы движка JavaScript: формы и встроенные кэши
В этой статье описываются некоторые ключевые принципы, общие для всех движков JavaScript, а не только V8, движка…mathiasbynens .быть"



Этот контент был впервые опубликован мной здесь.