求問各位大神,為什么顯示不出來sum和平均數aver呢?
<!DOCTYPE ?HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全帶,準備啟航</title>
<script type="text/javascript">
? ?var d=new Date();
? ?var y=d.getFullYear();
? ?var m=d.getMonth();
? ?var de=d.getDate();
? ?document.write(y+"年"+m+"月"+de+"日"+"<br/>")
? //通過javascript的日期對象來得到當前的日期,并輸出。
?var score=[scoreStr.split(";")];
document.write(score+"<br/>");
? //成績是一長竄的字符串不好處理,找規律后分割放到數組里更好操作哦
? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var sum=0;
?var aver=0;
for(int i=0;i<score.length;i++){
? sum=sum+parseInt(score[i].slice(3,5));
?}
aver=sum/score.length;
document.write(sum);
document.write(parseInt(aver));
? //從數組中將成績撮出來,然后求和取整,并輸出。
</script>
</head>
<body>
</body>
</html>
2016-03-25
存在問題:
(1)var score=[scoreStr.split(";")];document.write(score+"<br/>");應該放在var scoreStr="......";下 面,先定義后使用,否則獲得不到scoreStr。
(2)var score=[scoreStr.split(";")];
????? ? split()是將字符串分割為數組。如果再加一個[],就成了var score=[["item1","item2",..."itemN"]];score變成了一個含有一個數組元素的數組。這樣split就沒有意義了,,相當于沒分割。
你可以測試一下:
??????? 1)var score=[scoreStr.split(";")]; document.write(score.length);結果:1。
? ? ? ? 2)var score=scoreStr.split(";"); document.write(score.length);結果:10。
(3)樓上很多人已經提出,JS定義類型只有var,它會根據值的類型決定。所以沒有int這些。
(4)月份在JS里是從0開始的,所以getMonth()需要+1才是實際月份。
(5)代碼里沒看到你寫星期getDay(),注意0代表星期天。
2016-03-23
<!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 array=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
? document.write(date.getFullYear()+"年"+parseInt(date.getMonth()+1)+"月"+date.getDate()+"日"+" "+array[date.getDay()]+"--班級總分為:"+Math.floor(sum/arrays.length));
??
??
? //成績是一長竄的字符串不好處理,找規律后分割放到數組里更好操作哦
? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
?var arrays=scoreStr.split(";");
?var sum=0;
for(var i=0;i<arrays.length;i++){
? ? sum=sum+parseInt(arrays[i].substr(3,2));
}
? //從數組中將成績撮出來,然后求和取整,并輸出。
??
</script>
</head>
<body>
</body>
</html>
2016-03-23
有幾點問題:1、var m=d.getMonth();得到的是月份比實際的月份要小1,所以應該改為:var m=parseInt(date.getMonth()+1)?
2、var score=[scoreStr.split(";")];有誤。scoreStr.split(";");本身還回的就是一個數組,不能再加[]。故應改為:var score=[scoreStr.split(";");即可。
3、for(int i=0;i<score.length;i++)的int改成var。jS聲明變量是用var
2016-03-23
我是來學你們的,我什么都不會,請大神賜教
2016-03-21
哈哈,從java起家的,你要不說我還真沒發現.但是把int改成var了之后,sum和aver還是沒有呢
2016-03-21
朋友 注意啊? 這是JavaScript 不是Java? 你for(int i=0;i<score.length;i++)? 其中的Int 是什么鬼? 你改成var? 包治百病