<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

        淺談JavaScript超時(shí)調(diào)用和間歇調(diào)用_javascript技巧

        來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 21:43:05
        文檔

        淺談JavaScript超時(shí)調(diào)用和間歇調(diào)用_javascript技巧

        淺談JavaScript超時(shí)調(diào)用和間歇調(diào)用_javascript技巧:間歇調(diào)用 在JavaScript中間歇調(diào)用很常見,setInterval,就是間隔一定的時(shí)間重復(fù)調(diào)用。 setInterval()方法接收兩個(gè)參數(shù):第一個(gè)參數(shù)可以是字符串,也可以是函數(shù),第二個(gè)參數(shù)是一個(gè)以毫秒為單位的數(shù)字,表示重復(fù)間隔的時(shí)長。 參數(shù)是字符串 當(dāng)?shù)谝粋€(gè)傳遞參
        推薦度:
        導(dǎo)讀淺談JavaScript超時(shí)調(diào)用和間歇調(diào)用_javascript技巧:間歇調(diào)用 在JavaScript中間歇調(diào)用很常見,setInterval,就是間隔一定的時(shí)間重復(fù)調(diào)用。 setInterval()方法接收兩個(gè)參數(shù):第一個(gè)參數(shù)可以是字符串,也可以是函數(shù),第二個(gè)參數(shù)是一個(gè)以毫秒為單位的數(shù)字,表示重復(fù)間隔的時(shí)長。 參數(shù)是字符串 當(dāng)?shù)谝粋€(gè)傳遞參

        間歇調(diào)用

        在JavaScript中間歇調(diào)用很常見,setInterval,就是間隔一定的時(shí)間重復(fù)調(diào)用。

        setInterval()方法接收兩個(gè)參數(shù):第一個(gè)參數(shù)可以是字符串,也可以是函數(shù),第二個(gè)參數(shù)是一個(gè)以毫秒為單位的數(shù)字,表示重復(fù)間隔的時(shí)長。

        參數(shù)是字符串

        當(dāng)?shù)谝粋€(gè)傳遞參數(shù)是字符串時(shí),如下:

        這里的字符串是一段JavaScript代碼,和傳入的eval()函數(shù)的參數(shù)一樣,如果是有內(nèi)外兩個(gè)引號(hào)的話,記得引號(hào)不要相同就行了。

        setInterval()會(huì)返回一個(gè)數(shù)值型的ID,這個(gè)ID是計(jì)劃執(zhí)行代碼的唯一標(biāo)識(shí)符,所以可以用它來取消重復(fù)操作。setInterval()對(duì)應(yīng)的一個(gè)取消該操作的方法:clearInterval(),當(dāng)然要取消重復(fù)操作的話,clearInterval()必須放在還沒有執(zhí)行完畢的時(shí)候。

        比如:

        首先我們獲取ID,然后將ID傳入clearInterval()中即可,因?yàn)槿∠僮骶o跟在setInterval()后面,所以可以立即取消,就和沒發(fā)生一樣。

        參數(shù)是函數(shù)

        因?yàn)楫?dāng)傳遞的參數(shù)是字符串的時(shí)候,可能會(huì)導(dǎo)致性能損失,所以一般情況下,用的最多的還是給它傳遞一個(gè)函數(shù)。

        如下:

        該段程序設(shè)置了一個(gè)increNum函數(shù),并作為參數(shù)傳遞給setInterval(),同時(shí)當(dāng)重復(fù)運(yùn)行到10次的時(shí)候,取消運(yùn)行操作,彈出警告框。

        超時(shí)調(diào)用

        超時(shí)調(diào)用和間歇調(diào)用類似,setTimeout(),它也接收兩個(gè)參數(shù),第一個(gè)可以是包含JavaScript代碼的字符串,也可是一個(gè)函數(shù),第二個(gè)參數(shù)是延時(shí)時(shí)間和setInterval()方法的參數(shù)是一樣。

        但是這里要說明一點(diǎn):

        延時(shí)時(shí)間并不是說經(jīng)過設(shè)定的延時(shí)后程序一定會(huì)執(zhí)行。

        為什么呢?

        因?yàn)镴avaScript是單線程解釋器,所以在一定的時(shí)間內(nèi)只能執(zhí)行一段代碼,不能同時(shí)執(zhí)行多段代碼,所以在JavaScript中有一個(gè)任務(wù)隊(duì)列,將要執(zhí)行的任務(wù)按照先后順序排在隊(duì)列中,設(shè)定的延時(shí)時(shí)間是經(jīng)過這段時(shí)間將當(dāng)前任務(wù)加入到任務(wù)隊(duì)列中。如果當(dāng)前沒有任務(wù)執(zhí)行,那么加入到任務(wù)隊(duì)列中的代碼立刻執(zhí)行,如果當(dāng)前還有正在執(zhí)行的代碼段,那么只有當(dāng)該代碼段執(zhí)行完畢后再執(zhí)行新加入的任務(wù)。

        同樣,setTimeout()也有一個(gè)返回ID,也可以通過這個(gè)數(shù)值ID來取消超時(shí)調(diào)用,對(duì)應(yīng)的取消方法是clearTimeout()。

        在這里,我們用超時(shí)調(diào)用方法來把間歇調(diào)用中的那段重復(fù)執(zhí)行的代碼復(fù)寫一遍:

        這段程序也可以完成重復(fù)操作并在10次之后終止操作,和上述的setInterval()有區(qū)別的是它并沒有用返回的數(shù)值ID。

        因?yàn)閟etInterval()是重復(fù)執(zhí)行,所以一直會(huì)有數(shù)值ID返回,所以必須得一直跟蹤這個(gè)數(shù)值ID,而setTimeout()執(zhí)行完畢后就不再執(zhí)行,所以我們不用跟蹤這個(gè)返回的數(shù)值ID,這就給我們帶來了一定的便利。

        而且,后一個(gè)間歇調(diào)用可能會(huì)在前一個(gè)間歇調(diào)用還沒結(jié)束之前被調(diào)用,當(dāng)函數(shù)的執(zhí)行時(shí)間比間歇調(diào)用的時(shí)間長的時(shí)候這種情況就會(huì)發(fā)生,所以綜上所述,用setTimeout()來模擬間歇調(diào)用是一種比較好的途徑。

        當(dāng)然,在比較簡單的程序中用setInterval()還是沒有很大問題的(突然想起了一句話,存在即是合理的~~~~)。

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        淺談JavaScript超時(shí)調(diào)用和間歇調(diào)用_javascript技巧

        淺談JavaScript超時(shí)調(diào)用和間歇調(diào)用_javascript技巧:間歇調(diào)用 在JavaScript中間歇調(diào)用很常見,setInterval,就是間隔一定的時(shí)間重復(fù)調(diào)用。 setInterval()方法接收兩個(gè)參數(shù):第一個(gè)參數(shù)可以是字符串,也可以是函數(shù),第二個(gè)參數(shù)是一個(gè)以毫秒為單位的數(shù)字,表示重復(fù)間隔的時(shí)長。 參數(shù)是字符串 當(dāng)?shù)谝粋€(gè)傳遞參
        推薦度:
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产亚洲精品国看不卡| 成人免费在线视频| 中文字幕专区在线亚洲| 日韩色日韩视频亚洲网站 | 亚洲人成网站在线播放2019| 免费观看无遮挡www的视频 | 亚洲成AV人片在线观看ww| baoyu116.永久免费视频| 亚洲精品国产精品乱码不卡√| 好猛好深好爽好硬免费视频| 亚洲人成无码网站| 在线看片免费人成视频播| 亚洲国产精品一区第二页| 2021在线永久免费视频| 亚洲电影唐人社一区二区| 国产免费AV片在线播放唯爱网| 国产99在线|亚洲| 国产在线98福利播放视频免费 | 欧美日韩亚洲精品| 又粗又黄又猛又爽大片免费| 国产一区二区三区免费观在线| 亚洲国产精品久久久天堂| 57pao国产成视频免费播放| 国产亚洲精品影视在线| 免费国产精品视频| 久久久精品午夜免费不卡| 亚洲精品中文字幕麻豆| 日韩免费无砖专区2020狼| 色吊丝免费观看网站| 亚洲国产精品嫩草影院在线观看 | 亚洲成人一区二区| 免费视频一区二区| 亚洲中文字幕乱码熟女在线| 亚洲国产精品一区二区三区久久| 中文在线免费观看| 亚洲国产日韩女人aaaaaa毛片在线| 国产在线98福利播放视频免费| 美女视频黄a视频全免费网站色窝| 亚洲中文无码线在线观看| 亚洲Av无码乱码在线观看性色 | 无码人妻一区二区三区免费看|