Показать сообщение отдельно
  #9 (permalink)  
Старый 25.12.2011, 17:32
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от kasper_tpk
Проблема в том, что в таком случае после применения к объекту метода add_img его свойство images останется неизменным, т.к. значение мы записал в переменную, а не в свойство. Получается, что self подходит для считывания this внутри анонимных функций, но не для изменения.
Бред. self будет ссылаться на тот же объект, что и this, поэтому любое изменение этого объекта отразится на них обоих.
(function(){
  alert('Checking a: ' + this.a);
  var self = this;
  (function(){
    alert('Checking a inside function with another this: ' + this.a);
    alert('Checking a of original object: ' + self.a);
    self.a = 42;
  }).call({a : 'some string'});
  alert('Checking a: ' + this.a);
}).call({a : 5})


Сообщение от kasper_tpk
В обеих случая получим одно и то же значение.
А с чего Вы взяли, что оно изменилось именно между этими проверками (если изменилось вообще)?
Ответить с цитированием