这在IE中泄漏了吗?

时间:2011-07-26 16:31:40

标签: javascript jquery asp.net memory-leaks closures

我有一个aspx页面,它向Web服务发出Ajax请求(使用jquery)以返回一些数据。

我的onerror处理程序是这样的(不完全是这个想法):

onerror: function(status,xhr, whatever) {
  var objectResult = eval('('+xhr.Status+')');
  alert(objectResult.Message);
}

问题:

由于eval表达式被分配给我的本地var,这是否会造成潜在的内存泄漏?

谢谢。

2 个答案:

答案 0 :(得分:2)

这肯定会导致内存泄漏。

您的objectResult变量将在函数末尾被销毁(因为它是本地变量)。

然后,objectResult 引用的内存中的实际对象可以自由地进行垃圾回收(因为引用它的唯一变量已被销毁)。不过,它可能不会立即收集垃圾。

答案 1 :(得分:1)

不,这不应该造成内存泄漏。当处理程序完成时,应该清除objectResult变量,因为它会留下范围。