Показать сообщение отдельно
  #6 (permalink)  
Старый 21.07.2012, 04:32
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

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