我想減少值var i但我被困在無限循環中。無限for循環減2減去
for(var i=10;i>=0;i-2){
console.log(i);
}
我發現下面給出的代碼正在工作,但上述代碼有什麼問題。
for(var i=10;i>=0;i-=2){
console.log(i);
}
我想減少值var i但我被困在無限循環中。無限for循環減2減去
for(var i=10;i>=0;i-2){
console.log(i);
}
我發現下面給出的代碼正在工作,但上述代碼有什麼問題。
for(var i=10;i>=0;i-=2){
console.log(i);
}
分解for循環中的事件有助於解釋這一點。
i = 10
叫i-=2
這是短手i = i - 2
(錯誤代碼i-2
絕不會用一個新值指定i
) 它會再檢查條件的中間的for循環。i >= 0
但什麼是錯的,上面的代碼。
因爲i-2
實際上沒有遞減價值可言,所以i
值不會改變在環路和i >=0
永遠不會失敗,這就是爲什麼循環永遠不會結束。
在上面的代碼中,循環遞增器只是計算什麼是i-2
。它從來沒有分配結果返回我。
第一個代碼將i設置爲8(可能),但在此之後從未更改。沒有增加(i ++或遞減i--或兩者的任何變化)
在第一種情況下,i'的'值不被更新/分配... – Rayon