M阿
2017-09-18 10:50
<!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 week=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
document.write(
wydate.getFullYear()+"年"+
(mydate.getMonth()+1)+"月"+
mydate.getDate()+"日"+" "
week[mydate.getDate()]
);
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var marry= scoreStr.split(";");
document.write(marry);
//从数组中将成绩撮出来,然后求和取整,并输出。
var score = new Array();
var sum=0;
for(var i=0;i<=marry.length;i++;)
{
sum+=parseInt(marry[i].split(3,5));
document.write(sum);
}
document.write("--班级总分为:" + sum);
document.write(",班级平均分为(保留整数):" + Math.round(sum/marry.length));
</script>
</head>
<body>
</body>
</html>
一个一个来,从上到下:
//var week=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
星期日后面的逗号是中文的,请改成英文
2.//document.write(
wydate.getFullYear()+"年"+
(mydate.getMonth()+1)+"月"+
mydate.getDate()+"日"+" "
week[mydate.getDate()]
);
wydate改成mydate,然后在 week[mydate.getDate()]前面加上一个+号,并且把这句里面的getDate改成getDay
3. var score = new Array();
这句话存在完全没有任何意义,可以直接去掉
4. for(var i=0;i<=marry.length;i++;)
把i<=marry.length的=去掉,i++后面的分号去掉
5. sum+=parseInt(marry[i].split(3,5));
改成sum+=parseInt(marry[i].substr(marry[i].indexOf(":")+1)); 首先这里的split是切割的意思,并不是提取,也就是说你用了split得到的是更多的数组,而且上面的数组中根本没有3,你用3切割切到外星去吗?sum+=parseInt(marry[i].substr(marry[i].indexOf(":")+1)); 这句话的意思是,上面已经被你分割的数组里的成员,从:后面的一位开始提取,一直到每个成员的最后一位为止,也就是分数,并且将其转化为int类型与sum进行相加。
6.document.write(",班级平均分为(保留整数):" + Math.round(sum/marry.length));
这里你用的是四舍五入,但是题目要求是显示81,所以应该用的是floor,但是没有什么问题,这个你自己想用啥就用啥。
最后因为你的 document.write(sum);写在for循环里面,所以每循环一次就会打印一次。而且因为没有换行所以会显示在一行里面,非常丑。
<!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 week=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
document.write(
mydate.getFullYear()+"年"+
(mydate.getMonth()+1)+"月"+
mydate.getDate()+"日"+" "+
week[mydate.getDate()]
);
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var marry= scoreStr.split(";");
document.write(marry);
//从数组中将成绩撮出来,然后求和取整,并输出。
var score = new Array();
var sum=0;
for(var i=0;i<=marry.length;i++)
{
sum+=parseInt(marry[i]);
document.write(sum);
}
document.write("--班级总分为:" + sum);
document.write(",班级平均分为(保留整数):" + Math.round(sum/marry.length));
</script>
</head>
<body>
</body>
</html>
JavaScript进阶篇
468190 学习 · 21891 问题
相似问题