慕_M
2018-11-27 19:11
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全带,准备启航</title>
<script type="text/javascript">
//通过javascript的日期对象来得到当前的日期,并输出。
var mydate=new Date();
var year=mydate.getFullYear();
var month=mydate.getMonth()+1;
var date=mydate.getDate();
var week=['星期日','星期一','星期二','星期三','星期四','星期五','星期六']
var mynum=mydate.getDay();
document.write(year+'年'+month+'月'+date+'日'+' '+week[mynum]+"<br/>");
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var person=scoreStr.split(";");
var sum=0;
for(var i=0;i<person.length;i++){
sum += parseInt(person[i].slice(3));
}
//从数组中将成绩撮出来,然后求和取整,并输出。
document.write("班级总分:"+sum+"<br/>");
document.write("班级平均分:"+ Math.round(sum/(person.length+1)));
</script>
</head>
<body>
</body>
</html>
几个小建议: 1.获取日期,获取成绩可以分成两个函数分开写; 2.可以写一个formatNum的函数,将小于10的月份和日子转为01、02……09的格式; 3.person[i].slice(3)这边可以继续使用split(":")进行分割; 4.parseInt函数最好还是使用第二个参数,比如这里parseInt(person[i].slice(3), 10)表示10进制,否则eslint规范会报错; 5.Math.round(sum/(person.length+1))这里应该是person.length,而不是length+1。
JavaScript进阶篇
468281 学习 · 21892 问题
相似问题