總分NaN是怎么回事?求大神指點!
<!DOCTYPE??HTML>
<html?>
<head>
????<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/>
????<title>系好安全帶,準備啟航</title>
????<script?type="text/javascript">
????????//通過javascript的日期對象來得到當前的日期,并輸出。
????????var?weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
????????var?myDate?=?new?Date();
????????var?myYear?=?myDate.getFullYear();
????????var?myMonth?=?myDate.getMonth()?+?1;
????????var?day?=?myDate.getDate();
????????var?week?=?weekday[myDate.getDay()];
????????//成績是一長竄的字符串不好處理,找規律后分割放到數組里更好操作哦
????????var?scoreStr?=?"小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
????????var?sum?=?0;
????????var?av?=?0
????????//var?scoreArr?=?new?Array();
????????var?scoreArr1?=?new?Array();
????????scoreArr?=?scoreStr.split(';');
????????scoreArr?=?scoreArr.join(':');
????????scoreArr?=?scoreArr.split(':');
????????for?(var?i?=?0?;?i?<?scoreArr.length/2?;?i?++){
????????????scoreArr1?=?scoreArr[2*i?+?1];
????????????sum?+=?parseInt(scoreArr1[i]);
????????}
????????av?=?sum/scoreArr1.length;
????????av?=?Math.floor();
????????document.write(myYear+"年"+myMonth+"月"+day+"日"+" "+week+"--班級總平均分為:"+av);
????????
????????//從數組中將成績撮出來,然后求和取整,并輸出。
????</script>
</head>
<body>
</body>
</html>為什么類型不對,總平均分顯示NaN?
2015-01-05
改過的地方給你添加注釋了,自己看看 <!DOCTYPE??HTML> <html?> <head> ????<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/> ????<title>系好安全帶,準備啟航</title> ? ????<script?type="text/javascript"> ? ????????//通過javascript的日期對象來得到當前的日期,并輸出。 ????????var?weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]; ????????var?myDate?=?new?Date(); ????????var?myYear?=?myDate.getFullYear(); ????????var?myMonth?=?myDate.getMonth()?+?1; ????????var?day?=?myDate.getDate(); ????????var?week?=?weekday[myDate.getDay()]; ????????//成績是一長竄的字符串不好處理,找規律后分割放到數組里更好操作哦 ????????var?scoreStr?=?"小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"; ????????var?sum?=?0; ????????var?av?=?0 ????????//var?scoreArr?=?new?Array(); ????????var?scoreArr1?=?new?Array(); ????????scoreArr?=?scoreStr.split(';'); ????????scoreArr?=?scoreArr.join(':'); ????????scoreArr?=?scoreArr.split(':'); ????????for?(var?i?=?0?;?i?<?scoreArr.length/2?;?i?++){ ????????????scoreArr1[i]?=?scoreArr[2*i?+?1];????//這里應該是數組元素賦值給數組元素而不是賦值給數組 ????????????sum?+=?parseInt(scoreArr1[i]); ????????} ????????document.write(); ????????av?=?sum/scoreArr1.length; ????????av?=?Math.floor(av);??//???floor()里面要給參數,不然你是要取整誰啊。。。。 ????????document.write(myYear+"年"+myMonth+"月"+day+"日"+" "+week+"--班級總平均分為:"+av); ? ????</script> </head> <body> </body> </html>2015-01-05
1、?scoreArr1?=?scoreArr[2*i?+?1];
scoreArr1 這里賦值,就是一個數字而已,不是數組。不會有length屬性。
2、
av?=?sum/scoreArr1.length;
av?=?Math.floor();
使用不對。
Math.floor(averageScore);
2015-01-05
還有NaN = Not a Number
2015-01-05
額...你看就懂了。
<!DOCTYPE ?HTML>
<html >
<head>
? ? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
? ? <title>系好安全帶,準備啟航</title>
?
? ? <script type="text/javascript">
?
? ? ? ? //通過javascript的日期對象來得到當前的日期,并輸出。
? ? ? ? var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
? ? ? ? var myDate = new Date();
? ? ? ? var myYear = myDate.getFullYear();
? ? ? ? var myMonth = myDate.getMonth() + 1;
? ? ? ? var day = myDate.getDate();
? ? ? ? var week = weekday[myDate.getDay()];
? ? ? ? //成績是一長竄的字符串不好處理,找規律后分割放到數組里更好操作哦
? ? ? ? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
? ? ? ? var sum = 0;
? ? ? ? var av = 0
? ? ? ? //var scoreArr = new Array();
? ? ? ? var scoreArr1 = new Array();
? ? ? ? scoreArr = scoreStr.split(';');
? ? ? ? scoreArr = scoreArr.join(':');
? ? ? ? scoreArr = scoreArr.split(':');
var dd = 0;
? ? ? ? for (var i = 0 ; i < scoreArr.length ; i ++){
if(!(i%2==0)){
dd++;
scoreArr1 = scoreArr[i];
? ? ? ? ? ? sum += parseInt(scoreArr1);
}
}
? ? ? ? av = sum/dd;
? ? ? ? av = Math.floor(av);
? ? ? ? document.write(myYear+"年"+myMonth+"月"+day+"日"+" "+week+"--班級總平均分為:"+av);
? ? ? ? ?
? ? ? ? //從數組中將成績撮出來,然后求和取整,并輸出。
?
?
?
? ? </script>
</head>
<body>
</body>
</html>