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

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

關于for循環中的問題

var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var sourceArr=scoreStr.split(";");
var sum = 0;
for(var i=0;i<sourceArr.length;i ++)
{sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1))}
document.write(sum);

上述代碼,會顯示總成績815,但是在for(var i=0;i<=sourceArr.length;i ++)中多加了一個“=”后,總成績就看不到了,不應該是少算一個成績嗎,怎么會無法顯示?

正在回答

4 回答

不是少算一個成績,而是多了一個,但是獲取不到值,所以空白。如果你想少算最后一個成績的話,可以這樣寫

for(var?i=0;i<sourceArr.length-1;i?++);


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

森威 提問者

非常感謝!
2016-07-05 回復 有任何疑惑可以回復我~

數組下標從0開始,使用循環的話,i的值是要小于數組長度sourceArr.length的,加個=就越界了

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

樓上正解,加“=”不是少算了一個成績,是多算了一個,數組是從0開始 ,到sourceArr[sourceArr.length-1],你數組越界了。

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

多加=號數組會越界,數組越界是一個錯誤,注意這里是錯誤,在其他語言中(java OC)會造成程序的崩潰。

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

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468832    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

關于for循環中的問題

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

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

幫助反饋 APP下載

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

公眾號

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