Показать сообщение отдельно
  #1 (permalink)  
Старый 21.03.2014, 14:22
Интересующийся
Отправить личное сообщение для Артем163 Посмотреть профиль Найти все сообщения от Артем163
 
Регистрация: 16.09.2013
Сообщений: 11

Область видимости переменных (this)
Всем привет!

В тесте встретил вот такой скрипт:
var x = 3;

var foo = {
    x: 2,
    baz: {
        x: 1,
        bar: function() {
            return this.x;
        }
    }
};

var go = foo.baz.bar;

alert(go());
alert(foo.baz.bar());


И мне не совсем понятно, почему в итоге алерт покажет "3" затем "1". Может кто-нибудь из знатоков объяснить? Заранее благодарю
Ответить с цитированием