Показать сообщение отдельно
  #15 (permalink)  
Старый 30.09.2010, 18:47
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Вот, навскидку:
Object.prototype.key = (function(){
  var storage = [], _undefined;
  return function(value){
    if(value!=_undefined){
      for(var i=0; i<storage.length; i++)
        if(storage[i].object==this){
          storage[i].value = value;
          return value;
        }
      storage.push({object:this,value:arguments[0]});
      return value;
    }
    for(var i=0; i<storage.length; i++) if(storage[i].object==this) return storage[i].value;
    return _undefined;
  }
}())

var FirstObject = {}, SecondObject = {};
FirstObject.key(100);
SecondObject.key(999);

alert([FirstObject.key(), SecondObject.key()]);

Последний раз редактировалось Sweet, 01.10.2010 в 12:59. Причина: Добавил возможность хранить значения false, 0 и т.п.
Ответить с цитированием