3 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個(gè)贊
因?yàn)閒or循環(huán)步驟是:
1 -定義一個(gè)變量,
2 -檢查條件,
3-運(yùn)行循環(huán)內(nèi)的代碼,
4 -并將循環(huán)變量值增加 1,
但!在定義變量后和第一個(gè)循環(huán)之后,它會(huì)忽略第一個(gè)參數(shù)var i = 0并將循環(huán)變量加 1,并檢查條件,為什么?因?yàn)樵趂or循環(huán)中,最后要做的就是將循環(huán)變量加1,
所以最后一個(gè)循環(huán)將循環(huán)變量增加1并檢查條件,
簡單地說:變量已通過循環(huán)更改為 5,因?yàn)樵诘谝粋€(gè)循環(huán)之后它將變量增加 1 并檢查條件
希望我的回答對你有用!

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
在循環(huán)內(nèi)部,它記錄從0
到的數(shù)字4
。最后一個(gè)i++
設(shè)置i
為5
,循環(huán)停止,因?yàn)?code>i < 5不再為真。然后console.log(i)
after 循環(huán)記錄這個(gè)值。

TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊
這就是 var 在 JS 中的工作方式,也是所有語言中 for 循環(huán)的工作方式。
當(dāng)您使用 var 關(guān)鍵字聲明變量時(shí),它被提升到函數(shù)范圍,或者如果不在函數(shù)內(nèi)部,則為全局。這使您可以在 for 循環(huán)范圍之外訪問 var。嘗試將 var 更改為 let 看看會(huì)發(fā)生什么。
其次,由于您的條件,您沒有在 for 循環(huán)中看到 5 打印i < 5。i++導(dǎo)致“i”從 4 變?yōu)?5,這打破了 for 循環(huán)條件,并且不打印“i”。
最后 for 循環(huán)外的 console.log(i) 應(yīng)該只打印 5 因?yàn)槟鞘?i 在那個(gè)點(diǎn)的值而不是
console.log(i);
// prints 0 1 2 3 4 5
// should print 5
添加回答
舉報(bào)