我有一个aspx页面,它向Web服务发出Ajax请求(使用jquery)以返回一些数据。
我的onerror处理程序是这样的(不完全是这个想法):
onerror: function(status,xhr, whatever) {
var objectResult = eval('('+xhr.Status+')');
alert(objectResult.Message);
}
问题:
由于eval表达式被分配给我的本地var,这是否会造成潜在的内存泄漏?
谢谢。
答案 0 :(得分:2)
这肯定会不导致内存泄漏。
您的objectResult
变量将在函数末尾被销毁(因为它是本地变量)。
然后,objectResult
引用的内存中的实际对象可以自由地进行垃圾回收(因为引用它的唯一变量已被销毁)。不过,它可能不会立即收集垃圾。
答案 1 :(得分:1)
不,这不应该造成内存泄漏。当处理程序完成时,应该清除objectResult
变量,因为它会留下范围。