第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

關(guān)于clearTimeout清除標(biāo)記的問題

我點(diǎn)擊了多次setTimeout()之后啟動了多個計(jì)時器,但是每次都賦值給了i變量,按常理來說不應(yīng)該覆蓋變量所指向的計(jì)時器嗎?

為什么我點(diǎn)擊多次clearTimeout()之后計(jì)數(shù)增加確實(shí)變慢了,而且最后停了,這說明確實(shí)把每一個計(jì)數(shù)器都給刪除了呀。但是清除的是i變量指向的那個計(jì)數(shù)器呀。這里不太明白,為什么明明覆蓋了i所指向的計(jì)數(shù)器了執(zhí)行清除方法之后還能一個個的清除計(jì)數(shù)器

正在回答

1 回答

setTimeout("startCount()",1000);

這個返回的是一個計(jì)時器的id,每一個計(jì)時器在執(zhí)行的時候都會有自己的ID,就是沒有這個返回值,這個計(jì)時器也會運(yùn)行下去,你覆蓋的只是i只是這個變量,你不能做到覆蓋計(jì)時器,為什么能做到清理計(jì)時器,是因?yàn)?,不斷有新的函?shù)生成新的setTimeout, i的值也在變化,當(dāng)你點(diǎn)擊取消函數(shù)的時候,setTimeout會等這個取消函數(shù)執(zhí)行過以后一秒才開始執(zhí)行(即使這個取消函數(shù)執(zhí)行時間可以忽略不計(jì)),這時候就會把下一秒將要執(zhí)行的這個i給取消掉,(但是只會取消一個,因?yàn)楫?dāng)時的i值是唯一的)

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

勾子

這問題問的真好,我想問一下,取消的是這個i變量的同時取消咯計(jì)時器嗎?有沒有可能計(jì)時器在繼續(xù)運(yùn)行,只是我們不知道,這里跟前面的時鐘事件一樣,有沒有可能運(yùn)行多個后,雖然取消變量咯,但是仍然在運(yùn)行,導(dǎo)致越來越卡?
2017-06-08 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕勒7123956 回復(fù) 勾子

不會取消i的,i只會新的賦值覆蓋,根據(jù)i的值,來取消計(jì)時器,這個其實(shí)不是計(jì)時器,是通過函數(shù)的調(diào)用實(shí)現(xiàn)的每秒計(jì)時,當(dāng)你運(yùn)行多個以后,每次取消,都只會取消一個,但是由于i是不斷在更新的,只要你點(diǎn)擊取消,都是會取消掉一個下一秒執(zhí)行的計(jì)時器的,直到程序里面的將要自信得多個settimeout都被取消
2017-06-08 回復(fù) 有任何疑惑可以回復(fù)我~
#3

勾子 回復(fù) 慕勒7123956

你這回答和上面那個一樣的意思啊,這個我懂咯,我就是想知道通過i變量來取消計(jì)時器后,計(jì)時器有沒有可能會在后臺繼續(xù)運(yùn)行
2017-06-09 回復(fù) 有任何疑惑可以回復(fù)我~
#4

慕勒7123956 回復(fù) 勾子

不會啊
2017-06-09 回復(fù) 有任何疑惑可以回復(fù)我~
#5

沫荼 提問者

按照您的這個說法,i變量里面保存的到底是什么呢?為什么可以循環(huán)取到已經(jīng)生成的所有計(jì)數(shù)器的ID?為什么用clear方法清除的時候填的又是i變量呢?因?yàn)榘凑漳秸n給的對于clear方法的說明,clear方法需要的參數(shù)應(yīng)該是ID才對。還是說其實(shí)i變量本身不是直接存的ID,而且一種保存ID的集合,比如數(shù)組,而clear方法內(nèi)部本身就封裝了通過i變量來取ID的具體代碼實(shí)現(xiàn),所以實(shí)際上clear方法傳遞的參數(shù)其實(shí)是i變量而不是ID?
2017-06-09 回復(fù) 有任何疑惑可以回復(fù)我~
#6

慕勒7123956 回復(fù) 沫荼 提問者

哪里是集合了,只是你的每一個不斷遞歸的startCount()都會對i進(jìn)行賦值,每一秒中(因?yàn)榇a語句的時間基本上可以忽略不計(jì)),i都會是下一秒中最后執(zhí)行的那個setTimeout的ID,所以可以不斷的進(jìn)行清除,直到清除完,我覺得你應(yīng)該去輸出一下i值
2017-06-10 回復(fù) 有任何疑惑可以回復(fù)我~
#7

沫荼 提問者

謝謝,明白了
2017-06-10 回復(fù) 有任何疑惑可以回復(fù)我~
查看4條回復(fù)

舉報

0/150
提交
取消
JavaScript進(jìn)階篇
  • 參與學(xué)習(xí)       468969    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁動態(tài)交互世界

進(jìn)入課程

關(guān)于clearTimeout清除標(biāo)記的問題

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號