Answer
JavaScript testВыведет:
Функция f вызывается с помощью простого вызова - f(), поэтому this ссылается на глобальный объект .
this.x = 5; // window.x = 5;
В самовызывающихся функциях this также ссылается на глобальный объект.
(function() { this.x = 3; // window.x = 3; })();
В итоги console.log(window.x); // 3
Код для проверки:
var f = function() { this.x = 5; (function() { this.x = 3; })(); console.log(this.x); }; f();