慕粉3683182
2016-09-05 14:26
<!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 。这两句话有什么区别?
数组和字符串的区别
var scores = arr[i].substr(arr[i].indexOf(':')+1); 这个已经不是一个返回的不是一个数组对象,就是第i+1个arr中的对象以:位置+1截取的字符串,所以就是sum+=parseInt(scores)去写,而score[i]根本就是无效的,所以NAN。
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题