由於某種原因,變量counter
不會改變,它保持其初始值爲50.它是一個全局變量,它試圖在由setInterval()調用的函數內部進行更改。Javascript變量內部不會改變setInterval()函數?
var mode = false;
var counter = 50;
var interval = null;
var increment = false;
var MAX = 50;
var MIN = 0;
var INTERVAL_MS = 3000;
setInterval(doInterval, INTERVAL_MS);
function doInterval() {
if(increment)
{
counter += 1;
}
else
{
console.log("Decrement, " + counter);
counter -= 1;
}
// Set direction
if(counter = MIN)
{
increment = true;
}
else if(counter = MAX)
{
increment = false;
}
console.log("set to " + counter + " (D) Increment next time? " + increment);
// dosomething with the values
}
從該代碼
遞減的輸出,50
集到50(d)遞增下一次?假
遞減,50
設爲50(D)下次增加嗎?假
遞減,50
設爲50(D)下次增加嗎?假
等等
因爲它是50和增量是假的,它應該成爲49,48,但似乎我不能改變變量的值。什麼可能是一個原因?該代碼在NodeJS應用程序中運行。
啊這樣的一個新手錯誤..有一段時間看到它,因爲我在終端編程..這固定它當然! –