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

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

不知道哪兒錯?輸出的是NaN。如何修改或者還是邏輯錯誤?

var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var array=scoreStr.split(":");

var sum=0;
? ?for(var i=0;i<array.length;i++){
? ? ? ?var temp=parseInt(array[i]);

? ? ?sum=sum+temp;
? ?}
document.write(sum);

正在回答

1 回答

var?array=scoreStr.split(":");

這里你以冒號為間隔進行了字符串分割,然后你得到的數組實際上是:

['小明','87;小花','81;小紅','97;小天','76;小張','74;小小','94;小西','90;小伍','76;小迪','64;小曼',76]


你可能覺得用parseInt遇到非數字會自動停止的方式來轉換,如'87;小花'會被轉換為87,但是這個數組第一項是小明,字符串被parseInt會返回NAN,所以最后這個算式變成了:

NaN+87+81+97+76+74+94+90+76+64+76=NaN







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

shadowMike 提問者

嗯,明白了。那我接下來可以用isNaN()來篩選掉NaN。
2014-12-17 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

不知道哪兒錯?輸出的是NaN。如何修改或者還是邏輯錯誤?

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

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

幫助反饋 APP下載

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

公眾號

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