Показать сообщение отдельно
  #2 (permalink)  
Старый 03.06.2012, 19:15
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Vit
Не попадаю ли я таким методом на утечку памяти?
Ведь я фактически создаю объекты но не освобождаю явно после отработки?
в js есть сборщик мусора, так что опасаться не стоит. стоит только избегать замыканий, где они не нужны.

а вот этого лучше избегать, т.к. переменные не будут очищаться до того, как функция обработки завершения запроса не прекратит работу.
_ajax.onreadystatechange=function(){
		if (_ajax.readyState == 4){

лучше сделать так - в this будет XMLHttpRequest, для которого в текущий момент обрабатывается событие. всё так же, как и в элементах.
_ajax.onreadystatechange=function(){
		if (*!*this*/!*.readyState == 4){

а лучше - даже так - вынести обработчик куда-нибудь в долгую память.
function handler(){
    if (this.readyState == 4){ 
    //......
}

// function go ....
    _ajax.onreadystatechange = *!*handler*/!*;

Последний раз редактировалось melky, 03.06.2012 в 19:18.
Ответить с цитированием