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

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

設計計數器

?var num=0;

? function startCount() {

? ? document.getElementById('count').value=num;

? ? num=num+1;

? ? setTimeout("startCount()",1000);

? }

? ? setTimeout("startCount()",1000);

設計計數器為什么要調用兩次? ? setTimeout("startCount()",1000);

正在回答

1 回答

因為上面定義的是一個方法(startCount), 必須調用才會執行,如果下面直接調用就會立即執行,也就是會在第0秒時,計數器就會加1,為了保存在第一秒時執行,所以就在最后一行有了一個setTimeout("startCount()",1000);因為setTimeout是執行一次后就結束,所以就會在startCount方法里面再調用一下自己(遞歸調用),就可以一直循環調下去,但為了保證在一秒后執行,所以就又有了一個setTimeout("startCount()",1000);

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

消失de眼瞳 提問者

原來是 這樣,非常感謝?。?!
2015-11-12 回復 有任何疑惑可以回復我~
#2

qq_甘蔗_0

那為什么不能直接用: startCount();調用,而要用延時器來調用? 我試了,普通的函數可以直接用 函數名();調用 這個是遞歸函數,不能用 startCount();調用,卻可以用延時器來調用時怎么回事?求大神回復...
2015-11-14 回復 有任何疑惑可以回復我~
#3

李曉健 回復 qq_甘蔗_0

用定時器是為了延遲一S執行,他是每隔1秒,計數器加1,如果直接調用的話就會立刻執行,一S內數字就會增加了很大,并不想要的結果。
2015-11-14 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

設計計數器

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

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

幫助反饋 APP下載

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

公眾號

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