Объект активации - это объект, используемый для хранения свойств, которые описывают среду и область выполнения выполняемой функции. Именно на этом объекте хранятся аргументы функции, например. По определению, АКТИВИРОВАТЬ что-либо означает заставить эту вещь действовать или ФУНКЦИЮ. Поэтому, когда вы слышите «объект активации», думайте об объекте «FUNCTION» или, что еще лучше, о корневом объекте, который является ЛОКАЛЬНЫМ для функции (то есть, ЛОКАЛЬНЫЙ ОБЪЕКТ FUNCTION).
Что касается объекта Variable, объект Activation является более или менее конкретным экземпляром объекта Variable, который сам является (ссылаясь на объект Variable здесь) типом объекта ABSTRACT. Как указано здесь ...
Термин «Переменный объект» - это общий или абстрактный термин, используемый для обозначения любого объекта, который содержит свойства, описывающие среду и область действия текущего выполняемого контекста.
Следовательно, в среде и области действия глобального контекста выполнения (т. Е. Вне функции) глобальный объект является объектом переменной. В браузере, поскольку глобальной или самой внешней исполняющей средой является WINDOW браузера, именно этот window
объект в конечном итоге используется в качестве объекта Variable. Вот почему переменные, объявленные с var
ключевым словом вне функций, попадают в window
объект.
Однако в области действия функции именно объект Activation (т. Е. Локальный объект функции) является объектом переменной, поскольку именно этот объект используется для хранения свойств, описывающих область действия выполняемой функции.