慕虎9706840
2017-03-19 11:33
var mydate=new Date();
var dateToday=mydate.getFullYear()+"年"+mydate.getMonth()+'月'+mydate.getDate()+'日';
var myweekday=new Date();
var weekday=['Sunday','Monday','Tuesday','Weekday','Thursday','Friday','Saturday'];
document.write(dateToday.concat(weekday[myweekday.getDay()])+"<br/>");
var scoreStr ="小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var everyscore=scoreStr.split(';'); //此时every是一个数组。
// document.write(everyscore+"<br/>");
var sum=0;
for(i=0;i<=everyscore.length;i++){
var index=everyscore[i].indexOf(':')
var everynum=parseInt(everyscore[i].substr(index+1,2) );
// document.write(everynum+' ');
sum=sum+everynum;
}
document.write(sum);
还有,为什么参代里会给平均数赋值0,直接var av =sum/everyscore.length;不可以吗?
首先,月份得加一, 因为获得的是从0开始的,其次,把for里面的(<=)的=号去掉,因为你设置的i超出了数组长度,所以报错,输出不了,被系统当作text处理了。
你没输出的主要原因是因为你设置的i超出了数组长度,所以报错输出不了,
因为数组是从0开始的,而everyscore.length=10,如果是i<=10的话,那么i会输出11个数字
我就改了那两个地方,还要你的月份是要+1的,因为你说的输出不了的问题我就没注意这个
你代码写错了,for循环里面的i你都没有定义,然后i的范围应该是i<everyscore.length;你改下就有用了,然后你求平均值可以直接那样用,不要先赋值0;
JavaScript进阶篇
468062 学习 · 21891 问题
相似问题