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

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

為什么要設置兩次setTimeout

<script type="text/javascript">
? var num=0;
? function startCount() {
??? document.getElementById('count').value=num;
??? num=num+1;
??? setTimeout("startCount()",1000);
? }
? setTimeout("startCount()",1000);
</script>

正在回答

3 回答

制造一個死循環,就像香港電影綁匪勒索贖金的橋段,他叫你到地點A放下錢,但當你到了A之后,他又叫你到B,當你到了B之后,他又叫你到C,如此循環,那么就不會停止了,num就會一直往上加。

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

EricKok 提問者

非常感謝!
2016-07-26 回復 有任何疑惑可以回復我~

試過了。setTimeout("startCount()",1000);換成startCount();的話,情況①:<script>放在<head>里面,沒有反應;情況②:<script>放在<input>后面就可以運行了

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

我覺得樓上說的不對啊。

第二個setTimeout(),其實是用來啟動函數的。

加入你不寫這一句,那你可以在body里補充一個按鈕,點擊按鈕,啟動函數,也是一樣的效果。

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

wangzhz

第二個為什么不能直接用startCount()呢
2016-07-28 回復 有任何疑惑可以回復我~
#2

l_yanlei 回復 wangzhz

講下個人理解,不一定準確。 我覺得理論上,直接寫startCount();是可以調用的,一般是在頁面加載的時候,執行到這句,就調用了。但是,我們練習的時候,頁面已經加載過了,這個時候想要去調用函數,你直接寫startCount(),由于沒有加載頁面的過程,這句可能就沒有執行。需要主動去調用才能調用成功,所以要不用個按鈕,要不設個計時器,時間到了去調用。 我也不是很懂,沒搜到什么答案。
2016-07-28 回復 有任何疑惑可以回復我~
#3

慕粉18764815087 回復 l_yanlei

我感覺你說的對0.0
2016-07-30 回復 有任何疑惑可以回復我~
#4

一只孤島3228505 回復 l_yanlei

測試過發現!確實是這樣!終于懂了!
2016-08-16 回復 有任何疑惑可以回復我~
#5

明明的明天12 回復 wangzhz

html是從上到下執行的,當你把startCount函數寫在<head>里面時,下面的body內容還沒有加載完,這時去執行startCount()函數里面的document.getElementById('count').value=num;這句代碼是不能識別到id=count的元素的
2018-11-20 回復 有任何疑惑可以回復我~
查看2條回復

舉報

0/150
提交
取消

為什么要設置兩次setTimeout

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

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

幫助反饋 APP下載

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

公眾號

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