问答详情
源自:7-23 编程练习

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

提问者:慕粉3683182 2016-09-05 14:26

个回答

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

    数组和字符串的区别


  • 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。