这是垃圾收集的好方法吗
function getFile() {
var xhr = new XMLHttpRequest();
xhr.onload = function() {
//do stuff
delete(xhr)
};
}
,然后多次致电getFile()
(我已将其编辑为使用功能)
完成后如何摆脱xhr
。我对它是否可以从自身函数中删除xhr感到有点困惑
答案 0 :(得分:2)
你应该使用范围来为你做这个技巧。在JavaScript中,范围由函数语句定义。当函数超出范围时,函数中定义的变量将被自动删除(并且您没有在闭包中使用该变量)
所以在你的情况下:
function scope() {
var xhr = new XMLHttpRequest();
xhr.onload = function() {
//do stuff
};
}