Javascript, ES5 + все еще имеет объект активации? - PullRequest
0 голосов
/ 22 мая 2018

Читал некоторую информацию, касающуюся контекста исполнения javascript.Я читал следующую статью Рупеша Мишры.

В статье говорилось, что новый контекст выполнения создается при каждом новом вызове функции.Контекст выполнения имеет 2 этапа создания и этап выполнения, где код выполняется построчно.

Было указано, что на этапе создания движок JS выполняет 3 действия:

  1. Определяет значение this
  2. Создает цепочку областей действия
  3. Создает объект активации или переменную

Это было объяснение объекта активации:

Создает объект активации или объект переменной: Объект активации - это специальный объект в JS, который содержит все переменные, аргументы функций и информацию о внутренних объявлениях функций.Поскольку объект активации является специальным объектом, он не имеет свойства протока dunder.

Вопрос:

Имеет ли ES5 + структуру этого объекта активации?Если нет, каковы текущие этапы этапа создания контекста выполнения?

1 Ответ

0 голосов
/ 22 мая 2018

Нет, ES5 (и выше) больше не использует стандартный объект JS для хранения переменных.Он использует лексические среды (со значением this и цепочкой областей действия), которые содержат записи среды различных типов, в которых хранятся значения переменных.

Каковы текущие этапы этапа создания контекста выполнения?

Раздел 10.4 Создание контекста выполнения говорит об этом.

Поведение не слишком отличается от того, что делал ES3 (после того, как старый код все еще работает), оно просто описано с использованием новых терминов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...