<!DOCTYPE HTML> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>系好安全带,准备启航</title> <script type="text/javascript"> var date=new Date(); //通过javascript的日期对象来得到当前的日期,并输出。 //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦 var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"; var str1=new Array(); str1=scoreStr.split(";"); var sum=0; for(var i=0;i<str1.length;i++){ sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1)); } var avg=sum/(str1.length); //从数组中将成绩撮出来,然后求和取整,并输出。 document.write(date.getFullYear()+"年"+(date.getMonth()+1)+"月"+date.getDate()+"日"+" 星期"+date.getDay()+"--班级总分为:"+sum+"平均分为:"+Math.round(avg)); </script> </head> <body> </body> </html>
你定义的数组明明叫str1,下面使用的时候用的名字叫sourceArr
17行 sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));改成 sum += parseInt(str1[i].substr(str1[i].indexOf(":")+1));应该就行了