国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題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
當前位置: 首頁 - 科技 - 知識百科 - 正文

淺談JavaScript超時調用和間歇調用_javascript技巧

來源:懂視網 責編:小采 時間:2020-11-27 21:43:05
文檔

淺談JavaScript超時調用和間歇調用_javascript技巧

淺談JavaScript超時調用和間歇調用_javascript技巧:間歇調用 在JavaScript中間歇調用很常見,setInterval,就是間隔一定的時間重復調用。 setInterval()方法接收兩個參數:第一個參數可以是字符串,也可以是函數,第二個參數是一個以毫秒為單位的數字,表示重復間隔的時長。 參數是字符串 當第一個傳遞參
推薦度:
導讀淺談JavaScript超時調用和間歇調用_javascript技巧:間歇調用 在JavaScript中間歇調用很常見,setInterval,就是間隔一定的時間重復調用。 setInterval()方法接收兩個參數:第一個參數可以是字符串,也可以是函數,第二個參數是一個以毫秒為單位的數字,表示重復間隔的時長。 參數是字符串 當第一個傳遞參

間歇調用

在JavaScript中間歇調用很常見,setInterval,就是間隔一定的時間重復調用。

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

參數是字符串

當第一個傳遞參數是字符串時,如下:

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

setInterval()會返回一個數值型的ID,這個ID是計劃執行代碼的唯一標識符,所以可以用它來取消重復操作。setInterval()對應的一個取消該操作的方法:clearInterval(),當然要取消重復操作的話,clearInterval()必須放在還沒有執行完畢的時候。

比如:

首先我們獲取ID,然后將ID傳入clearInterval()中即可,因為取消操作緊跟在setInterval()后面,所以可以立即取消,就和沒發生一樣。

參數是函數

因為當傳遞的參數是字符串的時候,可能會導致性能損失,所以一般情況下,用的最多的還是給它傳遞一個函數。

如下:

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

超時調用

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

但是這里要說明一點:

延時時間并不是說經過設定的延時后程序一定會執行。

為什么呢?

因為JavaScript是單線程解釋器,所以在一定的時間內只能執行一段代碼,不能同時執行多段代碼,所以在JavaScript中有一個任務隊列,將要執行的任務按照先后順序排在隊列中,設定的延時時間是經過這段時間將當前任務加入到任務隊列中。如果當前沒有任務執行,那么加入到任務隊列中的代碼立刻執行,如果當前還有正在執行的代碼段,那么只有當該代碼段執行完畢后再執行新加入的任務。

同樣,setTimeout()也有一個返回ID,也可以通過這個數值ID來取消超時調用,對應的取消方法是clearTimeout()。

在這里,我們用超時調用方法來把間歇調用中的那段重復執行的代碼復寫一遍:

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

因為setInterval()是重復執行,所以一直會有數值ID返回,所以必須得一直跟蹤這個數值ID,而setTimeout()執行完畢后就不再執行,所以我們不用跟蹤這個返回的數值ID,這就給我們帶來了一定的便利。

而且,后一個間歇調用可能會在前一個間歇調用還沒結束之前被調用,當函數的執行時間比間歇調用的時間長的時候這種情況就會發生,所以綜上所述,用setTimeout()來模擬間歇調用是一種比較好的途徑。

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

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

淺談JavaScript超時調用和間歇調用_javascript技巧

淺談JavaScript超時調用和間歇調用_javascript技巧:間歇調用 在JavaScript中間歇調用很常見,setInterval,就是間隔一定的時間重復調用。 setInterval()方法接收兩個參數:第一個參數可以是字符串,也可以是函數,第二個參數是一個以毫秒為單位的數字,表示重復間隔的時長。 參數是字符串 當第一個傳遞參
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚洲欧美日韩精品永久在线 | 日韩精品欧美高清区 | 91色欧美 | 亚洲国内自拍 | 国产三级在线免费 | 亚欧一区 | 亚洲精品在线免费观看视频 | 国产成人精品免费视频大全五级 | 手机国产精品一区二区 | 国产91成人精品亚洲精品 | 韩日一区二区三区 | 香港一级a毛片在线播放 | 美日韩中文字幕 | 97日日碰人人模人人澡 | 日韩 欧美 综合 在线 制服 | 亚欧一区 | 久久国产精品高清一区二区三区 | 日韩一区二区免费视频 | 久久久影院亚洲精品 | 国产成人久久综合二区 | 欧美一区二区在线观看 | 国产欧美另类久久精品91 | 久久久xxx | 欧美色图一区二区 | 日韩三 | 国产一区二区三区高清 | 久久伊人五月天 | 欧美人善交 | 91一区二区在线观看精品 | 亚洲欧美在线观看 | 国产一区二区高清视频 | 欧美在线视频 一区二区 | 韩国精品一区 | 亚洲欧美精品伊人久久 | 国产一区二区精品久久凹凸 | 91久久精品国产免费一区 | a色毛片免费视频 | 美日韩免费视频 | 国产精品久久久久激情影院 | 日韩视频一区二区在线观看 | 韩国演艺圈一区二区三区 |