Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 25.11.2010, 18:26
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от qtuzov
А как объяснить то, что следующая за запятой функция вызывается в другой области видимости?
Я не увидел пока конкретного ответа, почему использование запятой "убивает" this. Т.е. почему:
var object = {method: function(){return this}};
alert([
  (object.method)(), // вернет object
  (object, object.method)() // вернет window
]);
Ответить с цитированием
  #12 (permalink)  
Старый 25.11.2010, 18:33
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

А если так, только в перед тем как выполнить попробуйте предсказать результат:

var object = {method: function(){return this}};
alert([
  (object.method)(),
  (object.method)(), object
]);
Ответить с цитированием
  #13 (permalink)  
Старый 25.11.2010, 19:30
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

monolithed,
что это??? Вообще ж не в тему!
Ответить с цитированием
  #14 (permalink)  
Старый 26.11.2010, 00:42
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

var p = 'in window';
var o = 
{
  p: 'in object',
  f: function() {
    alert(this);
    return this.p;
  }
};

var f = o.f;
alert([
  (o.f)(),
  (f)(),
  (o.f, o.f)()
]);
Ответить с цитированием
  #15 (permalink)  
Старый 26.11.2010, 10:19
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от qtuzov
То есть получается, что перечисление функций через запятую позволяет «подняться» в нужную область видимости, вплоть до window?
Сообщение от Sweet
почему использование запятой "убивает" this
http://javascript.ru/forum/misc/5724...ipt-ninja.html
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск