Показать сообщение отдельно
  #1 (permalink)  
Старый 29.05.2013, 16:49
Аспирант
Посмотреть профиль Найти все сообщения от Maxmaxmaximus.js
 
Регистрация: 28.05.2013
Сообщений: 74

Как можно красиво сократить такой метод?
Observer.prototype.changed = function() {

  var observers = this.observers;
  var clone = this.clone;
  var target = this.target;

  if (Object.keys(target).length !== Object.keys(clone).length) {
    this.rememberState();
    return true;
  }

  for (var key in target)  if (target[key] !== clone[key]) {
    this.rememberState();
    return true;
  }

  for (key in observers)  if (observers[key].changed()) return true;

  this.rememberState();
  return false;
};
Ответить с цитированием