因為setTimeout(表示式,延時時間)在執行時,是在載入後延遲指定時間後,去執行一次表示式,記住,次數是一次而setInterval(表示式,互動時間)則不一樣,它從載入後,每隔指定的時間就執行一次表示式所以,完全是不一樣的很多人習慣於將setTimeout包含於被執行函式中,然後在函式外再次使用setTimeout來達到定時執行的目的這樣,函式外的setTimeout在執行函式時再次觸發setTimeout從而形成周而復始的定時效果使用的時候各有各的優勢,使用setInterval,需要手動的停止tick觸發。而使用方法中巢狀setTimeout,可以根據方法內部本身的邏輯不再呼叫setTimeout就等於停止了觸發。其實兩個東西完全可以相互模擬,具體使用那個,看當時的需要而定了。就像for可以模擬所有的迴圈包括分支,而還提供了do、while一樣。//每60秒執行myFunction()一次setInterval("myFunction()",60000);funcitionmyFunction(){alert(’myFunction()’);}//每60秒執行一次myFunction()setTimeout("myFunction()",60000);//需要函式觸發//如放置在body的onload事件裡面
因為setTimeout(表示式,延時時間)在執行時,是在載入後延遲指定時間後,去執行一次表示式,記住,次數是一次而setInterval(表示式,互動時間)則不一樣,它從載入後,每隔指定的時間就執行一次表示式所以,完全是不一樣的很多人習慣於將setTimeout包含於被執行函式中,然後在函式外再次使用setTimeout來達到定時執行的目的這樣,函式外的setTimeout在執行函式時再次觸發setTimeout從而形成周而復始的定時效果使用的時候各有各的優勢,使用setInterval,需要手動的停止tick觸發。而使用方法中巢狀setTimeout,可以根據方法內部本身的邏輯不再呼叫setTimeout就等於停止了觸發。其實兩個東西完全可以相互模擬,具體使用那個,看當時的需要而定了。就像for可以模擬所有的迴圈包括分支,而還提供了do、while一樣。//每60秒執行myFunction()一次setInterval("myFunction()",60000);funcitionmyFunction(){alert(’myFunction()’);}//每60秒執行一次myFunction()setTimeout("myFunction()",60000);//需要函式觸發//如放置在body的onload事件裡面