Вот
пункт из стандарта ECMAScript (я разбил на три части, выделены курсивом). Вы понимаете, что здесь написано? Что объясняется? Научите меня пожалуйста это читать. Объясните пожалуйста хотя бы этот кусочек, может я смогу остальные читать тогда.
10.2.3 Код функции
Иерархия областей видимости при инициализации содержит объект активации, за которым следуют объекты иерархии областей видимости, сохранённой в свойстве [[Scope]] объекта типа Function.
1. Что такое
Иерархия областей видимости?
2. Что такое
объект активации? Где он находится в функции?
3.
за которым следуют объекты иерархии областей видимости - Как они следуют? Как это представить? Как понимать?
Инстанциация переменных производится при помощи объекта активации в качестве объекта переменных и с использованием атрибутов свойств { DontDelete }.
1.
Инстанциация переменных производится при помощи объекта активации... - Как объект активации помогает переменным инициализироваться? Что это значит на практике для функции?
2.
в качестве объекта переменных и с использованием атрибутов свойств... - Тут даже вопрос задать не могу. Совершенно не понимаю о чем здесь речь.
Значение this передаётся вызывающим. Если значение this, переданное вызывающим, не является объектом (заметим, что null - не объект), то значением this является глобальный объект.
1.
Значение this передаётся вызывающим.... - Что такое "вызывающий"? От чего к чему он передает значение this? Что это значит на практике?
2.
Если значение this, переданное вызывающим, не является объектом, то значением this является глобальный объект.... - Здесь я вроде понял. Это когда слово this является синонимом window, например. Можно написать window.innerHeight, а можно this.innerHeight. Результат один и тот же будет.
Или может где-то есть более понятное объяснение. Дайте ссыль пожалуйста.