亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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>


正在回答

5 回答

你一共有兩處錯誤 ?

第一 ?把 ?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] ? 要不的話 ?你輸出的不會是數字


0 回復 有任何疑惑可以回復我~
#1

qq_慕虎6366630 提問者

謝謝,問題解決了
2016-05-09 回復 有任何疑惑可以回復我~

網頁中的javaScript腳本代碼往往需要在文檔加載完成后才能夠去執行,否則可能導致無法獲取對象的情況,而且javascript執行順序從上到下依次解析的。此時,你可以document.write(Udate.getFullYear()+"年"+(Udate.getMonth()+1)+"月"+Udate.getDate()+"日 "+week[Udate.getDay()]+"--"+"班級總分為:"+age+"<br />"); ?這段 挪到放在網頁的底端,這樣在運行腳本代碼的時候,可以確保要操作的對象已經加載完成;你也可以通過window.onload來執行腳本代碼

0 回復 有任何疑惑可以回復我~

javascript執行順序從上到下依次解析的,你的輸出語句執行的時候變量age并沒有定義所以會出現錯誤,另外在計算sum的for循環中,?parseInt(name1[i].substr(name1.indexOf(":")+1));這句代碼substr里面的name1應該改為name1[i],因為你的name1是一個數組,而你要取的是它的第i個元素。

0 回復 有任何疑惑可以回復我~

啊,雖然找出來了一個錯誤,但還是錯的

0 回復 有任何疑惑可以回復我~

不支持ie,兼容性問題

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

ie上運行為什么沒有效果

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號