uwenhao2008
2016-01-03 21:11:46
<!DOCTYPE??HTML>
<html?>
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/>
<title>系好安全帶,準備啟航</title>
<script?type="text/javascript">
??//通過javascript的日期對象來得到當(dāng)前的日期,并輸出。
??var?Udate?=?new?Date();
??var?weekend?=?["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]
??var?mynum?=?Udate.getDay();
??document.write(Udate+"</br>");
??document.write(Udate.getFullYear()+"年"+Udate.getMonth()+1+"月"+Udate.getDate()+"日"+weekend[mynum]+"</br>");
??
??//成績是一長竄的字符串不好處理,找規(guī)律后分割放到數(shù)組里更好操作哦
??var?scoreStr?=?"小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
??var?arrsco?=?scoreStr.split(";");//這里不先寫這步為什么不可以實現(xiàn)?///
?//document.write(scoreStr.split(";")+"</br>");
?//document.write(arrsco.length)
?var?i=0;?
?var?arrnum?=?new?Array();////////-----
?//document.write(scoreStr.length+"</br>");//////
?for(i;i<=arrsco.length;i++){
?????arrnum[i]=arrsco[i].slice(3,5);?
?????document.write(arrnum[i]+"</br>");
?????sum+?=?parseInt(arrnum[i]);//這里為什么不執(zhí)行呢?程序有這個則就不能正常運行了的
?????//document.write("平均成績:"+"</br>")
?????}
?????//document.write(arrnum.length+"</br>")
?????//document.write("平均成績:"+sum/(arrsco.length+1)+"</br>")//這里求平均,但是沒有執(zhí)行。這句為什么只有放到for循環(huán)里才起作用?for循環(huán)完了應(yīng)該就執(zhí)行了?。?
??//從數(shù)組中將成績撮出來,然后求和取整,并輸出。
</script>
</head>
<body>
</body>
</html>我的想法是arrnum[i]=arrsco[i].slice(3,5)按下表以此賦值,然后parseInt?轉(zhuǎn)換成書之后,sum求和并且平均,但是for循環(huán)里的sum+那里不能正確執(zhí)行,還有就是document.write("平均成績:"+sum/(arrsco.length+1)+"</br>")??這句為什么只有放到for循環(huán)里才能執(zhí)行,放在for后面為什么就不能執(zhí)行,for循環(huán)執(zhí)行完了以后不是自動向下執(zhí)行嗎?起高人指教,本人是愛學(xué)習(xí)的小白一枚~~~~~
3 回答
已采納

上帝遺棄之仔
TA貢獻4條經(jīng)驗 獲得超0個贊
(⊙v⊙)沒懂你意思,我再解釋一下吧。
var?sum?=?0;
這條語句是
var?sum; sum=?0;
這兩條語句的復(fù)合語句。第一行是變量聲明,第二行才是給sum賦初值。
如果不賦初值(只有第一行),沒有第二行的話sum的值會是undefined(空的)。
其實JavaScript中可以沒有第一條聲明語句瀏覽器也能正確解析,但是好的編程習(xí)慣先聲明后使用。
上面這個例子中sum = 0;這句話是一定不可省略的。

上帝遺棄之仔
TA貢獻4條經(jīng)驗 獲得超0個贊
第二個問題找了好久= =,25行for循環(huán)第二個循環(huán)條件?i<=arrsco.length,因為i是從0開始的,你這樣寫就多循環(huán)了一次,正確的寫法應(yīng)該是?i<arrsco.length。
32行也有個小錯誤,arrsco.length獲取到的就是數(shù)組中元素的個數(shù),不需要再加1的。
還有個小問題sum使用之前最好聲明一下
你對數(shù)組還沒理解好,再復(fù)習(xí)一下吧~
<!DOCTYPE??HTML> <html?> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/> <title>系好安全帶,準備啟航</title> ? <script?type="text/javascript"> ? ??//通過javascript的日期對象來得到當(dāng)前的日期,并輸出。 ??var?Udate?=?new?Date(); ??var?weekend?=?["星期日","星期一","星期二","星期三","星期四","星期五","星期六"] ??var?mynum?=?Udate.getDay(); ??document.write(Udate+"</br>"); ??document.write(Udate.getFullYear()+"年"+Udate.getMonth()+1+"月"+Udate.getDate()+"日"+weekend[mynum]+"</br>"); ??? ??//成績是一長竄的字符串不好處理,找規(guī)律后分割放到數(shù)組里更好操作哦 ??var?scoreStr?=?"小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"; ??var?arrsco?=?scoreStr.split(";");//這里不先寫這步為什么不可以實現(xiàn)?/// ?//document.write(scoreStr.split(";")+"</br>"); ?//document.write(arrsco.length) ?var?i; ?var?sum=0; ?var?arrnum?=?new?Array();////////----- ?//document.write(scoreStr.length+"</br>");////// ?for(i=0;i<arrsco.length;i++){ ?????arrnum[i]=arrsco[i].slice(3,5);? ?????document.write(arrnum[i]+"</br>"); ?????sum?+=?parseInt(arrnum[i]);//這里為什么不執(zhí)行呢?程序有這個則就不能正常運行了的 ?????//document.write("平均成績:"+"</br>") ?????} ?????document.write("總成績:"+?sum?+"<br?/>"); ?????//document.write(arrnum.length+"</br>") ?????document.write("平均成績:"+Math.round(sum/arrsco.length)+"</br>")//這里求平均,但是沒有執(zhí)行。這句為什么只有放到for循環(huán)里才起作用?for循環(huán)完了應(yīng)該就執(zhí)行了??? ? ??//從數(shù)組中將成績撮出來,然后求和取整,并輸出。 </script> </head> <body> </body> </html>
添加回答
舉報
0/150
提交
取消