This возвращает объект windows

Рейтинг: 0Ответов: 1Опубликовано: 24.09.2014
Core.drawRender = (function() {
    var i = 15;
    console.log(this);
    this.lifeScale(i);
    return function() {
        return i++;
    }
})();

Почему this это window? Не указывает на объект Core? Если, например, опустит this ниже во внутреннию функцию, то он будет указывать на объект Core.

Ответы

▲ 2

@Andrey Perov, ооок

Вот эта конструкция

(function() {
    var i = 15;
    console.log(this);
    this.lifeScale(i);
    return function() {
        return i++;
    }
})();

по факту говорит "JS, будь добр, выполни вложенную функцию и верни, что она там возвращает". Именно это и происходит: в глобальном контексте (js пока что вообще не волнует, что там слева) выполняется функция, поэтому this возвращает глобальный контекст - window.