Отрицательная задержка в setTimeout допустима, потому что, если передать отрицательное число или не передать задержку вовсе, она будет равна нулю. 1
Однако фактическая задержка может быть больше указанной. 34 Это может произойти, например, из-за того, что операционная система, браузер или система заняты другими задачами. 5