2011-07-26 30 views
1

我有一個aspx頁面,它向web服務發出一個Ajax請求(使用jquery)來返回一些數據。這是否泄漏在IE中?

我的onerror的處理程序是這樣的(不完全,但是這是想法):

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

問:

這是否會造成潛在的內存泄漏是由於EVAL表達被分配到我本地變量?

謝謝。

+3

fyi - 'eval'很危險!作爲一個旁註: –

+1

:http://www.go4expert.com/forums/showthread.php?t=13979 – jbabey

+0

謝謝Daniel。 – Icarus

回答

2

這肯定會造成而不是導致內存泄漏。

你的objectResult變量將在函數結束時被銷燬(因爲它是一個本地變量)。

內存中的實際對象objectResult引用然後可以自由垃圾收集(因爲引用它的唯一變量被銷燬)。不過,它可能不會立即被垃圾收集。

1

不,這不應該造成內存泄漏。當你的處理程序完成時,應該清理變量objectResult,因爲它會離開範圍。