Показать сообщение отдельно
  #13 (permalink)  
Старый 23.08.2013, 12:02
Аватар для ExeiL
Интересующийся
Отправить личное сообщение для ExeiL Посмотреть профиль Найти все сообщения от ExeiL
 
Регистрация: 04.12.2009
Сообщений: 13

Минусы объекта:
- this. надо сохранять перед передачей в setTimeout
- при вызове метода из SetTimeout надо обрамлять в function(){ } // Решается добавлением "var savedThis = this;" в начало функции и последующем использовании savedThis вместо this. (не уверен в кроссбраузерности)

Пример:
function SomeFn() {
  this.info = "Если видно, значит инфо доступно";

  this.someShow = function() {
    var savedThis = this;
    setTimeout(function(){ alert(savedThis.info); }, 10);  // Если написать this.info, получим undefined
  };
}

var someFunction = new SomeFn;
setTimeout(function(){ someFunction.someShow(); }, 10); // Если написать setTimeout(someFunction.someShow, 10), получим undefined


PS: По скорости разницы с замыканием при тестах не заметил...

Последний раз редактировалось ExeiL, 23.08.2013 в 13:11.
Ответить с цитированием