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

为什么SUM最后结果是NaN?

<script>

var scorestr="小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

var score=scorestr.split(";");

var sum=0;

var indexs;

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

indexs=score[i].indexOf(":");

var show=score[i].substr(indexs+1);

sum+=parseInt(show);

}

document.write(+"总成绩:"+ sum);

document.write(+"平均成绩为:"+ Math.ceil(sum/score.length));

</script>


提问者:云彩无色3804005 2017-06-28 23:03

个回答

  • 慕移动9181930
    2022-03-23 10:36:52

    感觉实际上是他讲解的逻辑先后的问题,imageObj.src应该在前面赋值,就好理解了。onload方法是加载的时候的回调函数

  • 慕函数8251401
    2017-07-03 16:40:16

    <!DOCTYPE  HTML>

    <html >

    <head>

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

    <title>系好安全带,准备启航</title>


    <script type="text/javascript">


      //通过javascript的日期对象来得到当前的日期,并输出。

      var date=new Date();

      var day=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];

      document.write(day[date.getDay()]);

      //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦

      var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76;";

    var s=scoreStr.split(/.{2}:(\d*);/);//正则匹配


    var sum=0;


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


      if(s[i]!=""){//因为会分割出空格符


    document.write(s[i]+"<br/>")


    sum+=parseInt(s[i]);




    }


    //document.write(s[i]);


        }


    document.write(sum/(s.length/2));//所以长度除以2

     



      //从数组中将成绩撮出来,然后求和取整,并输出。

      



    </script>

    </head>

    <body>

    </body>

    </html>


  • 慕桂英0156764
    2017-06-29 09:36:26

    去掉document.write()中第一个加号就行了。

  • 超越方程式
    2017-06-29 09:12:15

    ...你仔细看看你“document.write()"里面,是不是都多了一个加号