我在某些問題中看到What is minimum millisecond value of setTimeout?人們在談論「setTimeout的最小超時時間」,但我無法真正理解它。無法理解`setTimeout()中的最小超時值`
它說,在HTML5規範的最小超時值爲4ms
,所以我想,如果我運行下面的瀏覽器(比如瀏覽器)代碼:
setTimeout(function() { console.log("333"); }, 3);
setTimeout(function() { console.log("222"); }, 2);
setTimeout(function() { console.log("111"); }, 1);
setTimeout(function() { console.log("000"); }, 0);
輸出應該是:
333
222
111
000
但實際上,它是:
111
000
222
333
好像他們仍然按照指定的恬運行即使它們小於4(期望0
和1
)
我應該如何理解值4ms
?
'4ms'可能會更好地理解爲'250fps'。有點高,你不覺得嗎? –
我覺得你必須閱讀[__'Event loop'__](https://developer.mozilla.org/en/docs/Web/JavaScript/EventLoop#Event_loop) – Rayon
而[___'延遲超過指定的原因' ___](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout#Reasons_for_delays_longer_than_specified) – Rayon