May 16, 2023

Что будет на выходе?

Ответ: window

Пояснение:

Значение this определяется в момент вызова функции. Если функция вызывается на объекте obj.foo() - this будет равен этому объекту obj. 

В нашем примере функция obj.foo передаётся в качестве аргумента в другую функцию callFoo, которая вызывает ее без контекста (нет объекта перед точкой). В нестрогом режиме при выполнении кода в браузере this в этом случае является объектом window.

Значение this определяется в момент вызова функции. Если функция вызывается на объекте obj.foo() - this будет равен этому объекту obj.