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

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

關于兩個變量的for循環問題

for(var i = 9,j = 0; i > 0; i--) {
?? ??? ?document.write('張三有'+ i +'元錢,給了李四1元,李四有'+ ++j +'元<br/>');
?? ?}

請問為什么把j的更新條件值放在小括號里數值是從0開始的?不管是++j還是j++都是0~8,而不是1~9

正在回答

5 回答

搞清楚了。寫在小括號里是從初始值0開始到8,寫在輸出里是已經循環過一次了的,所以是1~9。是先后順序問題。

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

http://img1.sycdn.imooc.com//570621ad000152ae06500199.jpg

找到個相似的案例,來源于知乎:“在循環語句中,for(i=0;i<n;i++)和for(i=0;i<n;++i)有什么區別?”

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

LY_1124 提問者

不是這問題,++在前或在后的區別我知道。我是想知道寫在for更新條件里與寫在輸出里,為什么不同
2016-04-07 回復 有任何疑惑可以回復我~

http://img1.sycdn.imooc.com//57061cb600015ded02940205.jpg

這是我運行的圖片,和你想要的結果一樣吧 ,就是你的程序啊 ??

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

var i=9,j=0;是初始化,只運行一次。在這個for循環中從i=9到i=1運行了9次,但是當i=0時,不滿足循環條件,就跳出循環,所以i是從9到1,++j是先加再使用,j是從1到9

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

LY_1124 提問者

j從1到9是對的,是我想要的結果。我就是想知道為什么++j寫在小括號里就是0~8了,沒有直接0+1再到9呢?
2016-04-07 回復 有任何疑惑可以回復我~

因為計算機是從零位開始的 ,你看java基礎里就有

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

LY_1124 提問者

按我的理解,寫成for(var i = 9,j = 0; i>0; i--,++j或者j++ ) {.....},再得j的值,j不是應該已經+1了么,但我實際試了并沒有,我就是想知道為什么。
2016-04-07 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于兩個變量的for循環問題

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

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

幫助反饋 APP下載

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

公眾號

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