標籤:strong 間隔 img interval val ret 方法 c99 技術
setTimeout與setInterval的區別:setTimeout
定義和用法: setTimeout()方法用於在指定的毫秒數後調用函數或計算運算式。
文法: setTimeout(code,millisec)
參數: code (必需):要調用的函數後要執行的 JavaScript 代碼串。millisec(必需):在執行代碼前需等待的毫秒數。
提示: setTimeout() 只執行 code 一次。如果要多次調用,請使用 setInterval() 或者讓 code 自身再次調用 setTimeout()。
setInterval
setInterval() 方法可按照指定的周期(以毫秒計)來調用函數或計算運算式。
setInterval() 方法會不停地調用函數,直到 clearInterval() 被調用或視窗被關閉。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的參數。
文法: setInterval(code,millisec[,"lang"])
參數: code 必需。要調用的函數或要執行的代碼串。millisec 必須。周期性執行或調用 code 之間的時間間隔,以毫秒計。
傳回值: 一個可以傳遞給 Window.clearInterval() 從而取消對 code 的周期性執行的值。
區別:
通過上面可以看出,setTimeout和setinterval的最主要區別是:
setTimeout只運行一次,也就是說設定的時間到後就觸發運行指定代碼,運行完後即結束。如果啟動並執行代碼中再次運行同樣的setTimeout命令,則可迴圈運行。(即 要迴圈運行,需函數自身再次調用 setTimeout())
而 setinterval是迴圈啟動並執行,即每到設定時間間隔就觸發指定代碼。這是真正的定時器。
setinterval使用簡單,而setTimeout則比較靈活,可以隨時退出迴圈,而且可以設定為按不固定的時間間隔來運行,比如第一次1秒,第二次2秒,第三次3秒。
個人而言,更喜歡用setTimeout多一些!
setTimeout的用法:
三秒之後彈出對畫框!這個案例應用了setTimeout最基本的文法,setTimeout不會自動重複執行!
如果想setTimeout自動重複執行,我們可以在一個函數中調用不停執行自己,有點像遞迴。
javascript的setTimeout()與setTimeout()方法用法總結