setTimeout(表達式,延時時間):
在執行時,是在載入執行一次后延遲指定時間后,再執行一次表達式,需要函數觸發;被動觸發
setInterval(表達式,交互時間):
它從載入后,立即進入計算狀態,每隔指定的時間就執行一次表達式;主動觸發
將setTimeout包含於被執行函數中,然后在函數外再次使用setTimeout來達到定時執行的目的(類似於遞歸),函數外的setTimeout在執行函數時再次觸發setTimeout從而形成周而復始的定時效果,
使用的時候各有各的優勢,使用setInterval,需要手動的停止tick觸發。而使用方法中嵌套setTimeout,可以根據方法內部本身的邏輯不再調用setTimeout就等於停止了觸發。
其實兩個東西完全可以相互模擬,具體使用那個,看當時的需要而定了。就像for可以模擬所有的循環包括分支,而還提供了do、while一樣。
例如:
如果方法需要參數,則該方法需要用引號括起來,否則不需要
//60秒后執行myFunction()一次
setInterval("myFunction()",60000);
funcition myFunction(){
alert(’myFunction()’);
}
如果方法需要參數,則該方法需要用引號括起來,否則不需要
例如帶參數:
function attachmentUpload(fileCount,itemType, assessId, projectStatus,alertMessage)
{
setTimeout('attachmentUpload('+fileCount+','+itemType+',\"'+ assessId+ '\",'+ projectStatus+',\"'+alertMessage+'\")',60000);
}
例如不帶參數:
function attachmentUpload()
{
setTimeout(attachmentUpload,60000);
}
