我输出的结果班级总分为:NAN 我查了 这个NAN意思是输出的不是一个数字 ,我想问一下 按照我下面的代码 输出来的应该是数字啊,哪块错了

来源:7-23 编程练习

qq_触角_0

2016-03-27 19:39

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

  {

      var mychar=new Array(10);

      var mysum=0,myaverage;

      mychar[i]="scoreStr.substr(3*(2i+1),2)";

      

      mysum=mysum+parseInt(mychar[i]);

  }

  

  document.write("班级总分为:"+mysum);


写回答 关注

2回答

  • 红尘恋歌
    2016-03-27 20:19:38

    <script type="text/javascript">

        var mydate=new Date();

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

      document.write(mydate.getFullYear()+"年"+(mydate.getMonth()+1)+"月"+mydate.getDate()+"日");

      var weekday=["日","一","二","三","四","五","六"];

        document.write(" 星期"+weekday[mydate.getDay()]);

      

      

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

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

        var scores=scoreStr.split(":");

        var sum=0;

        for(var i=1;i<scores.length;i++){

            sum+=parseInt(scores[i]);

    }

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

     document.write("--班级总分:"+Math.round(sum/(scores.length-1)));

    </script>

    /*这是我写的,你参考一下*/

  • 红尘恋歌
    2016-03-27 20:16:40

    "scoreStr.substr(3*(2i+1),2)"是一个字符串

    你原本的意思是不是去掉双引号的

JavaScript进阶篇

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

468276 学习 · 21892 问题

查看课程

相似问题