Показать сообщение отдельно
  #1 (permalink)  
Старый 16.06.2011, 04:20
Новичок на форуме
Отправить личное сообщение для Йакуд Посмотреть профиль Найти все сообщения от Йакуд
 
Регистрация: 26.11.2010
Сообщений: 8

Замыкания в JS
Всем привет. У меня появился вопрос. Как можно реализовать такую фичу:
Имеется объект

var User = function(id){
  var then = {};	
  then.id = id;	
  
  /*...*/

  then.getInfo = function(param){
    param.id = then.id;
	
    /* Запрос на сервер */
    $.get(then.phpGet, param, function(data){
      /* Парсим данные */
      var data = JSON.parse(data);
	  
      /* Если ошибка, выводим сообщение */
      if(data.error !== undefined){
        then.showError(data.error);
      }
      else /* Добавляем к основному объекту принятые параметры */
      {
        for(var i in data)
        {
          then[i] = data[i];
        }
        
        /* Ссылку/копию передать отсюда. */
        if(param.End !== undefined && typeof(param.End) == "function"){
          param.End(then);
        }
      }
    });
 }
}


Создается он так вот:
var yakud = new User(UserEnter_id);
yakud.getInfo({
  param: ['nick', 'type'],
  End: function(d){
    //alert(d)
  }
});


Все дело в том, что мне нужно вот сюда
End: function(d){
    //alert(d)
}

Передать ссылку или копию объекта then с полученными параметрами.
Как это можно реализовать? Прочитал статью на сайте про замыкания и, честно говоря, мало чего понял.
Буду очень благодарен за помощь.
Ответить с цитированием