Сообщение от 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*/!*;