ie上運行為什么沒有效果
為什么在ie上看不到平均成績?而顯示的是undefined
我的代碼是這樣的:
<!DOCTYPE ?HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全帶,準備啟航</title>
<script type="text/javascript">
var Udate=new Date()
var week= ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
document.write(Udate.getFullYear()+"年"+(Udate.getMonth()+1)+"月"+Udate.getDate()+"日 "+week[Udate.getDay()]+"--"+"班級總分為:"+age+"<br />");
?var scoreStr ="小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
?var name1=scoreStr.split(";");
?var sum=0
?for (var i=0;i<name1.length;i++){
? sum = sum + parseInt(name1[i].substr(name1.indexOf(":")+1));
?}
?var age=sum/name1.length;
</script>
</head>
<body>
</body>
</html>
2016-04-27
你一共有兩處錯誤 ?
第一 ?把 ?document.write(Udate.getFullYear()+"年"+(Udate.getMonth()+1)+"月"+Udate.getDate()+"日 "+week[Udate.getDay()]+"--"+"班級總分為:"+age+"<br />"); ?這段 挪到</script>之前?
出現 undefined的原因就是這個?
因為把他寫在前面 ? 程序加載他時,變量age還沒定義呢 ? 就會輸出 ?undefined
第二 ? ??parseInt(name1[i].substr(name1.indexOf(":")+1) ?這句中?
?把第二個name1 ?改為 name1[i] ? 要不的話 ?你輸出的不會是數字
2016-04-27
網頁中的javaScript腳本代碼往往需要在文檔加載完成后才能夠去執行,否則可能導致無法獲取對象的情況,而且javascript執行順序從上到下依次解析的。此時,你可以document.write(Udate.getFullYear()+"年"+(Udate.getMonth()+1)+"月"+Udate.getDate()+"日 "+week[Udate.getDay()]+"--"+"班級總分為:"+age+"<br />"); ?這段 挪到放在網頁的底端,這樣在運行腳本代碼的時候,可以確保要操作的對象已經加載完成;你也可以通過window.onload來執行腳本代碼
2016-04-27
javascript執行順序從上到下依次解析的,你的輸出語句執行的時候變量age并沒有定義所以會出現錯誤,另外在計算sum的for循環中,?parseInt(name1[i].substr(name1.indexOf(":")+1));這句代碼substr里面的name1應該改為name1[i],因為你的name1是一個數組,而你要取的是它的第i個元素。
2016-04-27
啊,雖然找出來了一個錯誤,但還是錯的
2016-04-26
不支持ie,兼容性問題