Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Поясните суть синтаксической конструкции (https://javascript.ru/forum/misc/13307-poyasnite-sut-sintaksicheskojj-konstrukcii.html)

Sweet 25.11.2010 18:26

Цитата:

Сообщение от qtuzov
А как объяснить то, что следующая за запятой функция вызывается в другой области видимости?

Я не увидел пока конкретного ответа, почему использование запятой "убивает" this.:) Т.е. почему:
var object = {method: function(){return this}};
alert([
  (object.method)(), // вернет object
  (object, object.method)() // вернет window
]);

monolithed 25.11.2010 18:33

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

var object = {method: function(){return this}};
alert([
  (object.method)(),
  (object.method)(), object
]);

Sweet 25.11.2010 19:30

monolithed,
что это??? Вообще ж не в тему!:)

Gvozd 26.11.2010 00:42

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)()
]);

Kolyaj 26.11.2010 10:19

Цитата:

Сообщение от qtuzov
То есть получается, что перечисление функций через запятую позволяет «подняться» в нужную область видимости, вплоть до window?

Цитата:

Сообщение от Sweet
почему использование запятой "убивает" this

http://javascript.ru/forum/misc/5724...ipt-ninja.html


Часовой пояс GMT +3, время: 05:19.