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(每次都是)///
为什么 求大神求解?
我想提几点:
下次提问题的时候 记得不要直接复制 粘贴 慕课网应该支持markdown格式吧 可以使用专门的代码格式来写 你们方便了 爽了 我们呢? 看代码会看到头痛
代码出现不相关的 语句 var av = 0; (av 这个会让我想远的你知道吗?) 说明你问问题之前 根本没有去想着解决这个问题 没有去自己写个index.html文件 多试几遍 不就出来了吗 ?
问题一中 为什么会出现0 第一条scoreStr赋值语句中都没有发现几个0 然后你应该去想想哪里还出现了0 (该不会编译器自己跳出了0吧) 在第三条语句 var sum = 0;不是出现了0吗? 问题一中 你输出的字符串 sum = sum + sc ; 你说初始化的0会不会加上去呀! (最好把sum = null; 避免这个字符串错误的出现)
问题二中 你™的直接 sum = parseInt(sc) ; 这个是什么鬼 直接赋值啊! 只是把for语句遍历到的最后一个字符串赋值给了sum
记得学好 多练习 多Google
™打了这么多子 你要不是个妹子 我就真是日了狗了