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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

定時器bug????

定時器bug????

后知后覺88 2017-04-04 11:30:12
<!DOCTYPE html><html><head>?? ?<title>ss</title></head><body><script type="text/javascript">setInterval(function(){?? ?var oDate=new Date()?? ?console.log(oDate.getMinutes()+":"+oDate.getSeconds())},3000)</script></body></html>應該是瀏覽器bug,因為有的瀏覽器就沒事,但是出現這種問題該怎么解決?求大神來幫忙.
查看完整描述

3 回答

已采納
?
llwanghong

TA貢獻7條經驗 獲得超9個贊

因為瀏覽器使用單線程來處理JS事件調度,setInterval創建的事件被放到事件隊列里面,瀏覽器只是盡量按照指定的時間間隔去執行,如果在指定的時刻到來時,瀏覽器正在執行其它事件,則就無法立即執行該時刻指定的事件,只能推遲;但是下一次指定的時刻已經確定,所以會看到,有的間隔比指定的??;導致setInterval并不會按照預期的間隔來執行,從而就會有推薦使用setTimeout模擬setInterval的說法。

查看完整回答
2 反對 回復 2017-04-05
?
winner4265975

TA貢獻19條經驗 獲得超17個贊

(function(){
????var?oDate=new?Date();
????var?minutes=oDate.getMinutes()>9?oDate.getMinutes():"0"+oDate.getMinutes();
????var?seconds=oDate.getSeconds()>9?oDate.getSeconds():"0"+oDate.getSeconds();
????console.log(minutes+":"+seconds)
????setTimeout(arguments.callee,3000)
})()

用setTimeout試試我在chrome下測試沒問題!

查看完整回答
反對 回復 2017-04-04
?
自由的氣息

TA貢獻96條經驗 獲得超116個贊

我在chrome下正常,每隔3s彈出一下。

查看完整回答
反對 回復 2017-04-04
  • 3 回答
  • 1 關注
  • 2021 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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