Показать сообщение отдельно
  #1 (permalink)  
Старый 03.06.2012, 18:51
Vit Vit вне форума
Аспирант
Отправить личное сообщение для Vit Посмотреть профиль Найти все сообщения от Vit
 
Регистрация: 11.01.2012
Сообщений: 56

Коректность алгоритма
Всем доброго.
Скажите пожалуйста насколько корректен выбранный мною алгоритм с точки зрения "замусоривания памяти"

Есть конструктор:
function go(){
 return{
   Send:function (param,OnOk,OnFail){
     var _ajax=ajax();
	 if(!_ajax){alert("Браузер не поддерживает AJAX"); return;}
	 _ajax.open("GET",serv+'?'+param,true);
	 _ajax.onreadystatechange=function(){
		if (_ajax.readyState == 4){ 
		  if(_ajax.status==200){
		   var a=_ajax.responseText.substring(0,6);
		   if(a!='Error-') OnOk(_ajax.responseText)
		   else OnFail(_ajax.responseText);
		  };
		  if (_ajax.status!=200){OnFail("Неудачная попытка связи.");}
		 }
		};
	 _ajax.send(null);
   }
 }
}

Где ajax() - функа создаюшая объект XMLHttpRequest.

Вызов производится так:
var t=go();
 t.Send(p,function(s){alert("Удачно "+s);},function(s){alert("Не удачно "+s);});

p - параметры запроса

Не попадаю ли я таким методом на утечку памяти?
Ведь я фактически создаю объекты но не освобождаю явно после отработки?

Правильно ли я поступаю или есть другой более лучший способ, который не заставит браузер оставлять мусор?
Ответить с цитированием