filter = {
  cache : {},
  type : '',
  init : function ( type ) {
     this.type = type;
     // Данные не закешированы
     if ( typeof this.cache[this.type] == 'undefined' ) {
        // Пошел jQuery post
        $.post('page.php',null,function(data){
           filter.updateCache ( data, filter.init );
        },'json');
     }
  },
  updateCache : function ( data, callback ) {
     this.cache[this.org] = new Array();
     for (var i in data) if (data.hasOwnProperty(i)) {
        this.cache[this.type].push( data[i] );
     }
     callback( this.type );
  }
}
window.onLoad=function() { filter.init('one'); }
Помогите разобраться. Я тут вкратце свой код привел. Работу с объектами в JS только сегодня начал осваивать.
Я хочу данные, получаемые в JSON через jQuery.post(), закешировать в объекте filter.cache , в дальнейшем загружать не через AJAX, а из объекта. Так вот после вызова `callback( this.type );` `this.cache` становится `undefined`. Ну и если подскажите более удачное решение, будет круто 
