2016-04-01 65 views
1

我有一個帶有JQuery函數的局部變量。每次運行函數時,變量都會保留上次運行的數據。JQuery本地變量不會重置

我曾嘗試:

delete myVar; 
myVar = undefined; 

無論是在功能的開始,但舊的數據仍然存在。我究竟做錯了什麼 ?

$.get("http://api.lmiforall.org.uk/api/v1/ashe/estimatePay", 
{ soc: soc, coarse: "false", filters:"region:12"}, 
function(datani) { 
nipay=undefined; // clear variable data 
nipay = maxBy("year", datani.series).estpay ; // load data into variable 
if(nipay) { //check that variable contains data 
} 
else { 
    nipay="Not available"; // Message if no data 
} 
$("#graph-box1").html("<p><b>NI:</b> " + nipay + " GBP/week </p>") // display the result 

}); 
+1

顯示功能。 –

+1

如果您可以顯示您的代碼,我們可能會發現錯誤 –

+0

根據您的數據類型,您可以執行myVar ='或myVar = 0嗎? – Niraj

回答

3

由於缺少var聲明,您的變量未在函數的範圍內聲明。在這種情況下,它在全局範圍內聲明,因此前一次運行的值將被保留,因爲該變量將保留在全局範圍內。

var nipay = maxBy("year", datani.series).estpay; 
+0

感謝您的支持。好吧,我剛剛用var nipay嘗試過,但如果新數據由於任何錯誤而無法加載,那麼舊數據仍然存在。 – Bizzy