结果提示 班级总分为 NAN 意思是 结果不是数字 可是按照我这个做法 结果应该是数字啊 哪里出错了

来源:7-23 编程练习

qq_触角_0

2016-03-27 19:42

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

  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);


写回答 关注

3回答

  • 深山小童
    2016-03-28 22:01:15

    除了楼上说的问题,mychar[i]="scoreStr.substr(3*(2i+1),2)";这句不需要加引号,加引号表示这本身就是一个字符串值。

  • 世界的我
    2016-03-28 16:41:14

    开始的时候还没定义mychar,就用了i<mychar.length,我觉得这样可能直接就出循环了,致使mysum也没有定义。   个人的一点看法

  • 少年残像
    2016-03-27 21:42:51

    第六行:mychar[i]="scoreStr.substr(*********)";

    这里错了 括号里应该是 3*(2*1+1),2  你少了个星号


    而且var声明变量要放在for循环的外面


    这样就正确了  希望采用我的答案 谢谢

JavaScript进阶篇

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

468276 学习 · 21892 问题

查看课程

相似问题