Когда я поставил следующую функцию в голове моего документа:SetTimeout не запускается мгновенно
(function(){
var d = new Date().getTime();
console.log(new Date().getTime() - d);
window.setTimeout(function(){
console.log(new Date().getTime() - d)
}, 1);
window.setTimeout(function(){
console.log(new Date().getTime() - d)
}, 10);
window.setTimeout(function(){
console.log(new Date().getTime() - d)
}, 100);
window.setTimeout(function(){
console.log(new Date().getTime() - d)
}, 1000);
}());
У меня есть эти журналы:
0
401
401
402
1397
Там, кажется, задержка 400мс до того запускается setTimeout. Зачем ?
возможно дубликат [Javascript SetTimeout не позволяет интервал при 100 мс] (http://stackoverflow.com/questions/8889239/javascript-settimeout-doesnt-allow-interval-under-100-milliseconds) –
В каком браузере? И все браузеры имеют одинаковые результаты? – zzlalani
Работает как и ожидалось для меня: http://jsfiddle.net/bfQRy/ вы можете испытать 1 и 15 мс из-за минимальных интервалов в зависимости от браузера – megawac