邏輯沒有錯,為什么結(jié)果奇怪.
<!DOCTYPE ?HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全帶,準備啟航</title>
<script type="text/javascript">
? //通過javascript的日期對象來得到當前的日期,并輸出。
? var date=new Date();
?var weekend=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
?document.write(date.getFullYear()+"年"+(date.getMonth()+1)+"月"+date.getDate()+"日"+weekend[date.getDay()]
+"<br>" );
??
? //成績是一長竄的字符串不好處理,找規(guī)律后分割放到數(shù)組里更好操作哦
? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
?
var str=scoreStr.split(";");
document.write(str+"<br>");
? //從數(shù)組中將成績撮出來,然后求和取整,并輸出。
? for(var i=0;i<str.length;i++){
? ? ? var sum=0;
? ? ? sum=sum+parseInt(str[i].substr(3));
? ? ? }
? ? ? sum=sum/str.length
document.write("班級平均成績?yōu)?+sum);
</script>
</head>
<body>
</body>
</html>
2015-11-24
你的問題在這里,你的那個sum不能放到循環(huán)里面,放里面的話每一次循環(huán)都重新置為0,前面算好的都沒有了,最后得到的結(jié)果只是最后一個數(shù)。
2015-11-25
這是你的代碼:
當i=0時,執(zhí)行var sum=0; ? sum就等于0,執(zhí)行?sum=sum+parseInt(str[i].substr(3)); ?sum = 87;
當i=1時,執(zhí)行var sum=0; ? sum又等于0了,執(zhí)行?sum=sum+parseInt(str[i].substr(3)); ?sum = 81;
當i=2時,執(zhí)行var sum=0; ? sum又等于0了,執(zhí)行?sum=sum+parseInt(str[i].substr(3)); ?sum = 97;
.......
然后這術(shù)一直循環(huán)下去,最后sum就會等于最后一個分數(shù),而不是總和。