为了账号安全,请及时绑定邮箱和手机立即绑定

运行结果不对

请各位大佬帮忙看看,为啥运行结果是这样的

https://img1.sycdn.imooc.com//5b53e6f40001ff8903230062.jpg

<script type="text/javascript">


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

  var day=new Date;

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

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

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

  var cell=scoreStr.split(";");

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

  var sum="0";

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

    sum += parseInt(cell[i].substring(cell[i].indexOf(":")+1));  

  }

  document.write(day.getFullYear()+"年"+

                 (day.getMonth()+1)+"月"+

                 day.getDate()+"日"+"&nbsp"+

                 weekday[day.getDay()]+"--"+

                 "班级总分为:"+sum+"<br/>");

</script>


正在回答

2 回答

var sum=0; 而不是等于一个字符串,后续的循环只会输出字符串你试试看吧

1 回复 有任何疑惑可以回复我~
#1

手刻CPU 提问者

非常感谢!就是这里的问题
2018-07-22 回复 有任何疑惑可以回复我~

sum += parseInt(cell[i].substring(cell[i].indexOf(":")+1)); 

改为sum += parseInt(cell[i].substr(cell[i].indexOf(":")+1)); 

0 回复 有任何疑惑可以回复我~
#1

手刻CPU 提问者

这两个的差别在于第二个参数,substr(a,b);中的b是指提取的长度; substring(a,b)中的b是指提取字符串的结束的位置; 两个a都是开始的位置;所以在这里没有差别
2018-07-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

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

进入课程

运行结果不对

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信