Если функция вызывается обычным способом, не как метод, то this получает значение глобального объекта (или undefined в строгом режиме).
То, что вы называете объектом активации функции, в спецификации называется лексическим окружением. Оно является типом спецификации в отличии от языковых типов. Лексические окружения не являются объектами в понимании Джавакрипта и не могут могут возвращаться выражениями. Функция f() действительно вызывается в контексте функции d(), но передаваемый аргумент this определяется по другим правилам, одно из которых я написал выше.
|