Показать сообщение отдельно
  #5 (permalink)  
Старый 02.12.2014, 22:48
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

// Заставьте это работать
  var Dummy = new function Dummy() {
      var instance;
      this.value = 'dummy';

      function Dummy() {
        if (!instance) instance = this;
        else return instance;

        Dummy.prototype.setValue = function (value) {
          this.value = value;
        };

        Dummy.prototype.getValue = function () {
          return this.value;
        };
      }
      return Dummy;
    }



    // Используем
  var foo = new Dummy();
  var bar = new Dummy();

  bar.setValue(123);

  // Тесты
  console.log('-------------------');
  console.info('foo === bar ->', foo === bar); // true
  console.log('values:', [foo.getValue(), bar.getValue()]); // [123, 123]
  // Bonus level
  baz = Dummy();
  console.info('baz === bar ->', baz === bar, baz.getValue()); // true, 123
Ответить с цитированием