Краткое резюме
На собеседованиях часто задают вопросы о веб-браузерах. Например, процесс загрузки веб-страницы в браузере с момента ввода 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 .быть"
Этот контент был впервые опубликован мной здесь.