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