亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于for循環for(var i=0;i<3;i++)的疑問

我看很多人的答案是:for(var i=0;i<3;i++)

我覺得如果for(var i=0;i<3;i++),當i=2的時候就已經有數組[0],[1],[2],數組長度已經是3了,但是這個時候i=2還是滿足條件i<3的,也就是還是會進入i++,也就是會得到i=3,這個時候才不會滿足條件i<3,但是就會有數組[0],[1],[2],[3],數組長度就是4了。

不知道我這樣理解對不對,我覺得應該是i<2,j<5才能滿足任務要求。到4-5再詳細理解吧。



正在回答

6 回答

i++是執行完for循環后,在下一次進入for循環判定前才自增1,你說的那種情況是++i,++在i前面是先執行自增,再去進行運算,i在++前面是先進行運算,再去自增,不知道說清楚沒

0 回復 有任何疑惑可以回復我~
#1

一團丶黑

i++; 和 ++i;在這里是一樣的,因為用;之后這就是單獨一個語句,并不參與運算 他的問題是沒有搞清楚for語句的流程,當執行完循環體后應該執行的 i++ ,然后進行判斷,如果不滿足條件的話直接就會終止循環,所以不會出現[4]這個數組
2017-11-13 回復 有任何疑惑可以回復我~
#2

和茹 回復 一團丶黑

萬分感謝 = v =!
2017-11-13 回復 有任何疑惑可以回復我~

不滿足條件就不會執行循環體里面的內容

0 回復 有任何疑惑可以回復我~

你可以用for(var i=0;i<2;i++)先建一個一維數組,然后取myarr[2]看看是什么值

0 回復 有任何疑惑可以回復我~

你理解錯了,這個i<3的意思不是你從0開始數,判斷數字是不是小于3而是這個數組的長度是不是小于3,當你數到2的時候,長度已經等于3了,不滿足小于3 的條件,所以i++就停止了

0 回復 有任何疑惑可以回復我~

那照你理解i=0時豈不是也得++ . 那你的數組就變成[1],[2],[3]了?


0 回復 有任何疑惑可以回復我~

當得到i=3的時候不滿足條件,就不會執行for里的語句,所以不會產生數組[3]。for語句是通過條件來判斷,若不符合條件就不會進入for的執行語句里,直接跳出循環。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于for循環for(var i=0;i<3;i++)的疑問

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號