sum+=parseInt(scores)和sum+=parseInt(scores[i])的区别

来源:7-23 编程练习

慕粉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 。这两句话有什么区别?

写回答 关注

2回答

  • qq_小盛开_0
    2016-09-05 15:15:06

    数组和字符串的区别


    qq_堕落的... 回复慕粉3683...

    对, substr 后 返回的是字符串

    2016-09-05 16:23:34

    共 2 条回复 >

  • ZeroChaos
    2016-09-05 15:04:08

    var scores = arr[i].substr(arr[i].indexOf(':')+1); 这个已经不是一个返回的不是一个数组对象,就是第i+1个arr中的对象以:位置+1截取的字符串,所以就是sum+=parseInt(scores)去写,而score[i]根本就是无效的,所以NAN。

    ZeroCh... 回复慕粉3683...

    没事儿哈,多交流!

    2016-09-06 10:43:20

    共 4 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468194 学习 · 21891 问题

查看课程

相似问题