<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全带,准备启航</title>
<script type="text/javascript">
//通过javascript的日期对象来得到当前的日期,并输出。
var a=new Date();
var b=a.getDate();
var c=a.getFullYear();
var d=a.getMonth();
var week=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
var e=week[a.getDay()];
document.write(c+"年"+d+"月"+b+"日"+" "+e)
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var scoreStr1= scoreStr.split(";");
var g=0;
var h=0;
for(i=0;i<=scoreStr1.length;i++){
g=g+parseInt(scoreStr1[i].slice(3,5));}
//从数组中将成绩撮出来,然后求和取整,并输出。
h=g/scoreStr1.length;
document.write("该班级的平均分为"+h);
</script>
</head>
<body>
</body>
</html>
上面的for循环控制应该是var i=0;i<scoreStr1.length;i++,不是<=scoreStr1.length。这次应该解决了
楼上的都回答了,我就回答个精简的吧 改成for(var i in scoreStr1){ } 这样的话就不用考虑加不加等号和数组长度的事了,程序会自动处理
数组超出范围了 把等于号去掉
for(i=0;i<=scoreStr1.length;i++){
改成
for(i=0;i<scoreStr1.length;i++){