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

鏈接地址:https://zhidao.baidu.com/question/808980857761575052.html

因爲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事件裏面
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章