幾年前,我是反對使用setInterval
了很長一段時間警告說,它理應會導致瀏覽器掛起,如果被調用函數的運行時間比指定的時間間隔,並隨後將無法趕上:setInterval會導致瀏覽器掛起?
setInterval(function(){
foo = 'bar_' + i++;
}, 1);
現在,我知道,在一個循環中添加大量的代碼可能會導致瀏覽器掛起反正,並阻斷這樣的代碼alert
,prompt
和confirm
將停止在它的軌道的代碼,但有有什麼好的理由避免setInterval
?
注:我知道如何做遞歸調用setTimeout
(因爲這是我一直在使用),這個問題是我想弄清楚它是否仍然值得使用它們,或者是否可以安全使用setInterval
。
Chrome在setInterval方面有問題。請參閱此處:http://code.google.com/p/chromium/issues/detail?id=25892。就我個人而言,我只是使用遞歸setTimeout(關閉工作很好)。 – 2011-03-29 22:40:29