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

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

有沒有大神可以解析一下這串代碼..

<!DOCTYPE ?HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>系好安全帶,準備啟航</title>


<script type="text/javascript">


? var nowday=new Date();

? var weekday=["星期一","星期二","星期三","星期四","星期五","星期六","星期天"];

? document.write(

? ? ? nowday.getFullYear()+"年"+

? ? ? nowday.getMonth()+"月"+

? ? ? nowday.getDate()+"日"+

? ? ? weekday[nowday.getDay()]+"</br>"

? ? ? );

??

?

? var sorceStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

? var sourceArr = sorceStr.split(";");

? ?var score = new Array();

? ?var sum = 0;

? ?for (var i = 0; i < sourceArr.length; i ++) {

? ? ? ?sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(";")+1));

? ? ? ?//document.write("<br>" + sum);//test

? ?}

? ?document.write("--班級總分為:" + sum);

? ?document.write(",班級平均分為(保留整數):" + Math.round(sum/sourceArr.length))

??


?



? //從數組中將成績撮出來,然后求和取整,并輸出。

??



</script>

</head>

<body>

</body>

</html>


?sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(";")+1));



正在回答

2 回答

首先你的代碼錯了,是冒號不是分號

?sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));

他的意思是sourceArr[i].indexOf(":")當前數字第i個字符串':'在第幾個字符

顯然,例如 ? 小明:87 ?

? ? ? ? ? ? ? ? ? ? ?1 2 3

冒號在第三個字符位置,輸出的是3

至于為何+1,是因為substr(3+1)也就是substr(4)的意思是獲取字符串從第4個字符開始的所有字符(包括第4個)

所以sourceArr[i].substr(sourceArr[i].indexOf(":")+1)輸出的是'87'這個字符串

然而這不夠,需要轉化為數字,所以?parseInt(string)能把字符串轉化為number

以上是我的理解,不知道能否看懂

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

卡蘭尼克 提問者

懂了 謝謝大神!
2016-11-22 回復 有任何疑惑可以回復我~

???sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(";")+1));

就這句的";"改成“:”就可以了,上面那位大神解釋得好清晰啊,慚愧。

還有月份那里要記得+1,?(nowday.getMonth()+"月"+1)

你這個有些地方寫得比示例還要好,學習了


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

卡蘭尼克 提問者

哇咔咔 真的嗎 哈哈哈你這樣講我好開心呀~謝謝親愛的~
2016-11-22 回復 有任何疑惑可以回復我~
#2

卡蘭尼克 提問者

月份為什么要加1呀 ,我試了一下 不加1顯示的是十月份。。
2016-11-22 回復 有任何疑惑可以回復我~
#3

尼古拉車夫 回復 卡蘭尼克 提問者

因為計算機語言是從0開始算的
2016-11-22 回復 有任何疑惑可以回復我~
#4

尼古拉車夫 回復 卡蘭尼克 提問者

我的1加錯位置了...然后發現我不知道怎么從你的程序把1加上去[哭笑]
2016-11-22 回復 有任何疑惑可以回復我~
#5

卡蘭尼克 提問者 回復 尼古拉車夫

厲害了小哥哥 蟹蟹
2016-11-22 回復 有任何疑惑可以回復我~
#6

尼古拉車夫 回復 卡蘭尼克 提問者

你知道月份那個怎么改了嗎?我發現我不會用你那種格式去改,解決了發給我看看可以嗎?
2016-11-22 回復 有任何疑惑可以回復我~
#7

卡蘭尼克 提問者 回復 尼古拉車夫

什么意思
2016-11-22 回復 有任何疑惑可以回復我~
#8

尼古拉車夫 回復 卡蘭尼克 提問者

如果在nowday.getMonth()后面直接+1會顯示101月。 var nowday=new Date(); var weekday=["星期一","星期二","星期三","星期四","星期五","星期六","星期天"]; var month=nowday.getMonth()+1; document.write( nowday.getFullYear()+"年"+ month+"月"+ nowday.getDate()+"日"+ weekday[nowday.getDay()]+"</br>" );
2016-11-22 回復 有任何疑惑可以回復我~
#9

尼古拉車夫 回復 卡蘭尼克 提問者

這樣改才會變11月,我想看看你有沒有更好的辦法
2016-11-22 回復 有任何疑惑可以回復我~
#10

卡蘭尼克 提問者

回復 尼古拉車夫4110627 :加個括號 document.write( currentDate.getFullYear() + "年" + (currentDate.getMonth() + 1) + "月" + currentDate.getDate() + "日" + " " + weekday[currentDate.getDay()] );
2016-11-22 回復 有任何疑惑可以回復我~
#11

尼古拉車夫 回復 卡蘭尼克 提問者

厲害了大姐姐,謝謝。
2016-11-22 回復 有任何疑惑可以回復我~
查看8條回復

舉報

0/150
提交
取消

有沒有大神可以解析一下這串代碼..

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

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

幫助反饋 APP下載

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

公眾號

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