Рубрики
Без рубрики

Контекст исполнения

До этого момента наше внимание сосредоточилось на стеке выполнения, то есть контексты выполнения, сложенные на одном … С тегом JavaScript, начинающих, WebDev, Codenewbie.

До этого момента наше внимание сосредоточилось на стеке выполнения, то есть контекстах выполнения, сложенных друг на друга. Давайте теперь поговорим о самом контексте исполнения.

Контекст выполнения – это структура, подобная контейнеру, которая содержит переменные, объекты и функции, внутри или связанная с ним. Он отвечает за оценку и выполнение кода.

Контекст выполнения может быть связан с объектом, например, в случае браузера мы всегда связываем контекст глобального выполнения с оконный объект . Объект имеет три свойства:

  1. Переменный объект , который сам является объектом, который содержит аргументы функции, объявления переменных и объявления функций
  2. Цепочка применения , который содержит текущий объект переменной, а также переменные объекты всех его родителей
  3. “Эта” переменная , это связано с текущим контекстом выполнения

Мы уже знаем, что когда вызывается функция, новый контекст выполнения ставится на вершину стека выполнения, это происходит в два этапа:

  • Фаза создания
  • Этап исполнения

1. Фаза создания

Этот этап завершен на три этапа

я. Создание объекта переменной

  • Во -первых, создается объект аргумента, который содержит все аргументы, которые были переданы в функцию.
  • Далее, все функции и переменные поднятый так что они доступны до начала фазы выполнения. Это поднятие происходит через два шага

    • Код сканируется для объявлений функций, и для каждой функции свойство создается в объекте переменной, указывающей на эту функцию. Таким образом, все функции будут храниться внутри объекта переменной, даже до того, как код начнет выполнять.
    • Код отсканируется для объявлений переменной, и для каждой переменной свойство создается в объекте переменной и устанавливается на «неопределенное»

II Создание цепочки прицела

Для каждого контекста выполнения создается его цепочка по объему. Цепочка областей определяет, какие объекты переменных. Текущий контекст выполнения будет иметь доступ к другому, кроме его собственных. Каждый контекст выполнения имеет доступ к переменным объектам его родителей и предков контекста до глобального масштаба. (Лексическая область)

iii. Переменная «эта» определяется и устанавливается

Каждый контекст выполнения получает свою собственную переменную, которая создается только после того, как вызывает соответствующую функцию. Переменная «эта» указывает на объект переменной текущего контекста выполнения

2. Этап исполнения

Это второй этап. На этом этапе все переменные определяются, и код функции, которая сгенерировала текущий контекст выполнения, выполняется строка по строке.

Это то, что именно происходит, когда в JavaScript вызывается функция, и именно так формируется контекст выполнения и расположен на вершине стека выполнения.

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

Вы можете оставить свои запросы и предложения ниже после прочтения (если есть). 😊

Серия вдохновлена полным курсом JavaScript 2020: Создайте реальные проекты Jonas Schmedtmann

Оригинал: “https://dev.to/ujalak1812/part-4-all-about-the-execution-context-nhn”