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

求助。。我想问几个问题。求大神帮忙、、

 var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
  var score=scoreStr.split(";");
  var sum=0;
  var av=0;
  for(var i=0;i<score.length;i++){
      var sco=score[i].indexOf(":");
    var sc=score[i].substr(sco+1,2);
      sum += (sc);
      }
document.write("--班级总分为:"+sum);

    显示的结果的是:087819776749490766476

为什么取消掉 parseInt  不把他变为字符串变为整数   显示的结果不应该是87819776749490766476吗,为什么前面多个0;

问题2:

var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
  var score=scoreStr.split(";");
  var sum=0;
  var av=0;
  for(var i=0;i<score.length;i++){
      var sco=score[i].indexOf(":");
    var sc=score[i].substr(sco+1,2);
      sum =parseInt (sc);
      }


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

为什么sum那里不要个+或者变成sum=(sc),最后的结果就会是76(每次都是)///

为什么  求大神求解?


提问者:superli18 2015-08-19 17:33

个回答

  • 会飞的鸵
    2015-08-19 22:17:17

    我想提几点:

    1.  下次提问题的时候 记得不要直接复制 粘贴 慕课网应该支持markdown格式吧  可以使用专门的代码格式来写 你们方便了  爽了  我们呢? 看代码会看到头痛

    2.  代码出现不相关的 语句 var av = 0; (av 这个会让我想远的你知道吗?) 说明你问问题之前 根本没有去想着解决这个问题 没有去自己写个index.html文件  多试几遍  不就出来了吗 ?

    3. 问题一中  为什么会出现0   第一条scoreStr赋值语句中都没有发现几个0  然后你应该去想想哪里还出现了0 (该不会编译器自己跳出了0吧)  在第三条语句 var sum = 0;不是出现了0吗? 问题一中 你输出的字符串 sum = sum + sc ;  你说初始化的0会不会加上去呀! (最好把sum = null; 避免这个字符串错误的出现)

    4. 问题二中 你™的直接 sum = parseInt(sc) ;   这个是什么鬼  直接赋值啊!  只是把for语句遍历到的最后一个字符串赋值给了sum  

    5. 记得学好 多练习 多Google

    6. ™打了这么多子  你要不是个妹子 我就真是日了狗了