XHR垃圾收集优化

时间:2012-05-20 12:47:50

标签: javascript

这是垃圾收集的好方法吗

function getFile() {
    var xhr = new XMLHttpRequest();
    xhr.onload = function() {
        //do stuff
        delete(xhr)
    };
}

,然后多次致电getFile()

(我已将其编辑为使用功能)

完成后如何摆脱xhr。我对它是否可以从自身函数中删除xhr感到有点困惑

1 个答案:

答案 0 :(得分:2)

你应该使用范围来为你做这个技巧。在JavaScript中,范围由函数语句定义。当函数超出范围时,函数中定义的变量将被自动删除(并且您没有在闭包中使用该变量)

所以在你的情况下:

function scope() {
  var xhr = new XMLHttpRequest();
  xhr.onload = function() {
    //do stuff
  };
}