出於某種原因,我的代碼不像它應該的那樣行事。我確信代碼沒有問題,但好像我無法看到它。請幫助我瞭解發生了什麼事。該代碼應該循環並在2秒間隔後顯示數字10-0。 10-9-8 ..每2秒後。它會在2秒的時間間隔後顯示數字,但它會按升序而不是降序顯示。我真的很想使用for循環而不是解決方法。以下是我的代碼。Javascript關閉gotcha
function fadeOut(elem)
{
for(var i=10; i>0; i--)
{
(function(index)
{
setTimeout(function()
{
console.log(index);
}, index * 2000);
})(i);
}
}
10 * 2000> 1 * 2000。你正在迭代數組,數學仍然會使超時遞增。也許(10指數+ 1)* 2000 – dman2306
@ dman2306這應該是答案 –
@ dman2306 dammit,就是這樣。非常感謝 – Hawk