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

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

sum+=parseInt(scores)和sum+=parseInt(scores[i])的區別

<!DOCTYPE ?HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>系好安全帶,準備啟航</title>


<script type="text/javascript">

? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:100";

?var arr ?= scoreStr.split(';');

? ?var arr ?= scoreStr.split(';');

? ? ? ? ? ? var sum = 0;

? ? ? ? ? ? for( var i =0;i<arr.length;i++ ){

? ? ? ? ? ? ? ? var scores = arr[i].substr(arr[i].indexOf(':')+1);

? ? ? ? ? ? ? ? sum+=parseInt(scores);

? ? ? ? ? ? }

? ? ? ? ? ? var avvv=sum/arr.length;

? ? ? ? ? ? document.write(Math.floor(avvv));


</script>

</head>

<body>

</body>

</html>

? 在這個代碼中 如果sum+=parseInt(scores)就能輸出正常結果,但是sum+=parseInt(score[i])就輸出的是NAN 。這兩句話有什么區別?

正在回答

2 回答

數組和字符串的區別


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

慕粉3683182 提問者

就是說scores是一個字符串了么?
2016-09-05 回復 有任何疑惑可以回復我~
#2

qq_墮落的撒旦_0 回復 慕粉3683182 提問者

對, substr 后 返回的是字符串
2016-09-05 回復 有任何疑惑可以回復我~

var scores = arr[i].substr(arr[i].indexOf(':')+1); 這個已經不是一個返回的不是一個數組對象,就是第i+1個arr中的對象以:位置+1截取的字符串,所以就是sum+=parseInt(scores)去寫,而score[i]根本就是無效的,所以NAN。

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

慕粉3683182 提問者

意思就是scores 并不是一個數組,是一個字符串了么?
2016-09-05 回復 有任何疑惑可以回復我~
#2

ZeroChaos 回復 慕粉3683182 提問者

對的!它只是名字起的有點混淆了,你可以看看substr這個方法返回就是一個字符串的。
2016-09-05 回復 有任何疑惑可以回復我~
#3

慕粉3683182 提問者 回復 ZeroChaos

好的,謝謝。
2016-09-06 回復 有任何疑惑可以回復我~
#4

ZeroChaos 回復 慕粉3683182 提問者

沒事兒哈,多交流!
2016-09-06 回復 有任何疑惑可以回復我~
查看1條回復

舉報

0/150
提交
取消

sum+=parseInt(scores)和sum+=parseInt(scores[i])的區別

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

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

幫助反饋 APP下載

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

公眾號

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