我有一個JavaScript函數的小問題。 這裏的情況:Javascript函數,改變變量的值
var intervalId = setInterval(function() {
var value = parseInt($('#my_id').text(), 10);
if(value > 0) {
clearInterval(intervalId);
console.log(value);
}
}, 600);
當我在這部分代碼CONSOLE.LOG的價值,我的價值是正確的。 但是如果我嘗試在我的函數之外使用console.log,我沒有爲我的變量獲取正確的值。
var intervalId = setInterval(function() {
var value = parseInt($('#my_id').text(), 10);
if(value > 0) {
clearInterval(intervalId);
return value;
}
}, 600);
console.log(intervalId); //Wrong value here, I want the same result as I got previously
任何人都可以幫助我在我的功能之外獲得相同的價值嗎?
親切地說,羅布。
'intervalId'是指向'setInterval'處理,什麼樣的價值,你期待? – Halcyon
與console.log(value)相同的值;在第一個代碼部分 – user2462805
你不能,因爲它的作用域在匿名函數中。你可以在全局聲明'value',但是你不再有關於間隔事件的信息。你想在這裏做什麼? – Halcyon