1. 程式人生 > >setTimeout()和setInterval()方法的區別?

setTimeout()和setInterval()方法的區別?

因為setTimeout(表示式,延時時間)在執行時,是在載入後延遲指定時間後,去執行一次表示式,記住,次數是一次


而setInterval(表示式,互動時間)則不一樣,它從載入後,每隔指定的時間就執行一次表示式
所以,完全是不一樣的

很多人習慣於將setTimeout包含於被執行函式中,然後在函式外再次使用setTimeout來達到定時執行的目的
這樣,函式外的setTimeout在執行函式時再次觸發setTimeout從而形成周而復始的定時效果

使用的時候各有各的優勢,使用setInterval,需要手動的停止tick觸發。而使用方法中巢狀setTimeout,可以根據方法內部本身的邏輯不再呼叫setTimeout就等於停止了觸發。


其實兩個東西完全可以相互模擬,具體使用那個,看當時的需要而定了。就像for可以模擬所有的迴圈包括分支,而還提供了do、while一樣。
//每60秒執行myFunction()一次
setInterval("myFunction()",60000);
funcition myFunction(){
alert(’myFunction()’);
}
//每60秒執行一次myFunction()
setTimeout("myFunction()",60000); //需要函式觸發
//如 放置在 body 的 onload事件裡面

相關推薦

setTimeout()setInterval()方法區別

因為setTimeout(表示式,延時時間)在執行時,是在載入後延遲指定時間後,去執行一次表示式,記住,次數是一次而setInterval(表示式,互動時間)則不一樣,它從載入後,每隔指定的時間就執行一次表示式所以,完全是不一樣的很多人習慣於將setTimeout包含於被執行

setTimeoutsetInterval區別

<span style="font-family: Tahoma, Helvetica, Arial, 宋體, sans-serif;">function click() { </span><span style="white-space:pre"> </span&

JavaScript中setTimeout()setInterval()兩個定時器的區別使用方法

兩者最直接的區別是: setTimeout()在載入後延遲指定時間去執行一次表示式,只是一次。 setInterval()它從載入後,每隔指定的時間就執行一次表示式 所以要讓一段程式碼, 某個函式以固定頻率重複執行應該使用setInterval()函式 如果讓一段程式碼, 某個函式在

js setTimeoutsetInterval區別

font device mic inter out edge UNC port ini 1、區別 2、示例代碼 <!DOCTYPE html> <html lang="zh"> <head>

javaScript setTimeout()setInterval()定時器的區別使用。

用倒計時的例子來解釋兩個的不同的使用 window.onload=function(){ function getTime1(){ var box=document.getElementById('box');

JavaScript中setTimeout()setInterval()的使用以及區別

       今天剛好在看setTimeout()的一個案例,在案例的解析中提到了setTimeout()和setInterval()的使用區別,但是比較理論,所以 決定自己也總結一下,寫寫例子幫助理

QML中實現setTimeoutsetInterval

comment del tint connect start pre 通過 false code Qt的QML中,js未提供setTimeout和setInterval,可以通過下面的代碼實現。 Timer {id: timer} function setTimeout

setTimeout()setInterval() 何時被調用執行(非多線程).RP

date() htm 並且 logs argument tle 有時 call line 定義 setTimeout()和setInterval()經常被用來處理延時和定時任務。setTimeout() 方法用於在指定的毫秒數後調用函數或計算表達式,而setInterval

closestparents方法區別

第一次 今天 區別 包含 ren nts 匹配 jquery對象 對象 今天第一次看到closest方法,以前也從來沒用過。 該方法從元素本身開始往上查找,返回最近的匹配的祖先元素。 1、closest查找開始於自身,parents開始於元素父級 2、closest向上查找

setTimeoutsetInterval

ear 取消 ron tro ie9 div span 技術 計算 setInterval語法:按照指定的周期(以毫秒計)來調用函數或計算表達式,直到 clearInterval() 被調用或窗口被關;由 setInterval() 返回的 ID 值可用作 clearInt

JS中的call()apply()方法區別

prototype 理解 ace attach bdb .html closed mil solid 如 果沒接觸過動態語言,以編譯型語言的思維方式去理解javaScript將會有種神奇而怪異的感覺,因為意識上往往不可能的事偏偏就發生了,甚至覺得不可 理喻.如果在學Java

hibernate的get方法load方法區別

返回 exception 二級緩存 查詢 get方法 機制 als 分情況討論 如果 讀者需註意:Hibernate版本不同,運行機制不太一樣,以下是hibernate3.x作為講解 get方法:   Hibernate會確認一下該id對應的數據是否存在,首先在sessio

js中定時器setTimeoutsetInterval兩種定時器

專案中,經常會用到定時器來實現資料實時更新、時間等,簡單總結一下: Javascript中的定時器有兩種,setInterval和setTimeout,而定時器的作用就是延遲執行。 一、定時器的寫法 setInterval(expression,milliseconds);

memcache中的addset方法區別

相信大家對memcache都不陌生,在專案中也經常使用memcache作為快取方案,那麼在使用過程中有沒有發現為什麼memcahce有兩個新增緩 存的方法:一個是add,一個是set,那麼你知道這2個方法有什麼不同嗎?什麼時候該使用add?什麼時候該使用set呢? 對於這點以前自己也沒有去

iOS的類方法例項方法區別與使用 + -

1.什麼是類方法? 在OC類定義方法時以 + 開頭的方法,又稱為靜態方法。如:+ (viod)方法名{ }. 作用:不用例項話就可以直接呼叫的方法,一般是有返回值的,返回對應的例項(陣列、字串等),還有可能就是本身類的例項物件。常用於一些common或者UtiKit等公共方法類中。如對N

執行緒池submitexecute方法區別(類似callablerunnable)

執行緒池中的execute方法大家都不陌生,即開啟執行緒執行池中的任務。還有一個方法submit也可以做到,它的功能是提交指定的任務去執行並且返回Future物件,即執行的結果。下面簡要介紹一下兩者的三個區別: 1、接收的引數不一樣 2、submit有返回值,而execute沒有 用到返

倒計時-做一個活動的倒計時,超出日期,倒計時結束。。。學習setTimeoutsetInterval及clearInterval的典型例子

var fillNumber = function(num) { let number = Math.floor(num);//向下取整 return number>9?number:'0'+number; } var timeCh

理解使用setTimeoutsetInterval

setTimeout和setInterval 要充分理解javaScript是運行於單執行緒環境的。 在javaScript中沒有任何程式碼是立即執行的,但是一旦程序空閒下來就會盡快執行 setTimeout:指定的毫秒數後呼叫函式(引用函式)或計算表示式(js程式碼串) /

iOS的類方法例項方法區別與使用

1.什麼是類方法? 在OC類定義方法時以 + 開頭的方法,又稱為靜態方法。如:+ (viod)方法名{ }. 作用:不用例項話就可以直接呼叫的方法,一般是有返回值的,返回對應的例項(陣列、字串等),還有可能就是本身類的例項物件。常用於一些common或者UtiK

setTimeoutsetInterval解析,妙用setTimeout代替setInterval進行間歇呼叫

 "在開發環境下,很少使用間歇呼叫(setInterval),原因是後一個間歇呼叫很可能在前一個間歇呼叫結束前啟動"  妙用setTimeout代替setInterval進行間歇呼叫如下 function func(){ ​/****執行程式碼****/