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

Еще вариант
/// Заставьте это работать
function Dummy() {     // что-то тут нужно написать
    if (Dummy.prototype.instance) {
         return Dummy.prototype.instance;
    }
    Dummy.prototype.instance = this;

}

Dummy.prototype.value = 'dummy';

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

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

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

bar.setValue(123);

// Тесты

alert('foo === bar ->'+ (foo === bar)); // true
alert('values:'+ [foo.getValue(), bar.getValue()]); // [123, 123]

// Bonus level
baz = Dummy();
alert('baz === bar ->'+ [baz === bar, baz.getValue()]); // true, 123

и так
if (arguments.callee._singletonInstance) return arguments.callee._singletonInstance;
arguments.callee._singletonInstance = this;

Последний раз редактировалось Vlasenko Fedor, 03.12.2014 в 00:10.
Ответить с цитированием