js 用js定時迴圈執行語句和定時延緩執行

2021-08-31 18:40:08 字數 1614 閱讀 2602

最近在專案中,需要使用到站內信的訊息推送方式在**中給使用者推送訊息,就是在頁面有下角推送乙個彈窗,這裡需要我們定時去後台查詢是否有訊息推送過來,所以需要在js層面進行定時執行查詢的任務。

這裡用到了js的兩個函式方法,乙個是setinterval,乙個是settimeout,這兩個函式在使用上要如何處理呢,下面分別講一下:

setinterval這個函式有很多的引數,大家可以自行查詢一下w3school,這裡不再贅述,主要講一下兩種模式使用這個函式。

一、是直接寫我們要執行的函式在裡面,不帶外部引數:

setinterval(function(), 3000);

第乙個引數是我們要執行的js**,也可以呼叫其他的function,比如:

function

myfunction()

function

alertfunc()

第二個引數是間隔的時間,單位是毫秒,3000就代表間隔是3秒的時間。

二、可以帶外部參

setinterval(function, milliseconds, param1, param2, ...)

例如:

var str1=

'hello';

var str2=

'world';

setinterval(

function()+

' '+)}, milliseconds, str1, str2)

怎麼樣,是不是感覺這個函式非常簡單?

這個函式,主要是用於延遲執行某段js的時候使用的,引數比較少,使用比較簡單,和setiterval的第一種方法一樣,它也是有兩個引數:

settimeout(function(),1000);

同樣第乙個是執行物件,第二個是延時時長。但是這裡有需要注意的地方:

1、在settimeout這條語句執行完成之後會立即進入倒計時狀態,所以我們想要設定間隔輸出的話,需要在延時時間上面做手腳。

2、在延時時間到了之後,執行的第乙個引數中的js語句,所取的是執行時間到了之後的引數所代表的數值,比如我之前寫過乙個**,用i代表陣列內的元素,結果只是執行的時候只是輸出最後乙個,例如:

array strlist=

for(

var i=

0;isettimeout(

function(),

3000);

}

如果我們的**這樣寫的話,只會輸出6遍tip6,並且是在3秒到了以後一塊輸出。正確的方式是這樣的

array strlist=

var j=

0;for(

var i=

0;isettimeout(

function(),

1000*i);

}

這樣就可以了。

js 用js定時迴圈執行語句和定時延緩執行

最近在專案中,需要使用到站內信的訊息推送方式在 中給使用者推送訊息,就是在頁面有下角推送乙個彈窗,這裡需要我們定時去後台查詢是否有訊息推送過來,所以需要在js層面進行定時執行查詢的任務。這裡用到了js的兩個函式方法,乙個是setinterval,乙個是settimeout,這兩個函式在使用上要如何處...

js迴圈語句

for for in while do.while for for var i 1 i 3 i while var i 1 while i 100 在while迴圈之前,要聲名一下。先判斷條件再執行 do while 先執行指令碼,再判斷。至少執行一次。var j 1 doj while j 10 ...

JS迴圈語句

在針對執行重複性的操作時,使用分支語句顯得有點力不從心,這時候我們就可以考慮使用迴圈語句進行編寫 for迴圈 for迴圈語句是迴圈的一種形式,可以指定迴圈的起點 終點和結束條件。它的語法格式如下 for 初始化表示式 判斷條件 遞增 遞減表示式 或for 初始化表示式 判斷條件 遞增 遞減表示式 執...