Riuppo la discussione poichè ha tante parole chiave interessanti.

Il motivo è che vorrei scusarmi con fcaldera circa il setTimeout ed il numero Math.pow(2, 32) - 1

Dopo un test durato giorni, ho appurato che i browsers rientrano nel range descritto quando assegnano un intervallo di tempo, e che tale intervallo, essendo un timeout viene sempre consumato.

Questo significa semplicemente che il browser, una volta coperto il range, riparte "da zero" e recicla senza troppi problemi gli intervalli già assegnati in precedenza.

Nel caso di Internet Explorer, il range parte random (non è 1 il primo setTimeout o setInterval della pagina ma un numero da 1 a Math.pow(2, 31)) e una volta raggiunto 2^31 parte da -2^31

Questo significa che a meno che non si coprano tutti gli intervalli di tempo con un timeout all' "anno dopo" , o a qualche settimana/mese, il caso in cui tutti vengano occupati è alquanto improbabile.

Non ho idea di cosa accada qualora la casistica qui sopra venga applicata, ma non credo esistano casi reali di applicazione della casistica stessa, ergo il comportamento è irrilevante.

Per concludere, John Resig di jQuery, ha scritto un'altra interesante feature di queste funzioni, feature che ho già commentato con una soluzione "universale", sniff del browser ad monnezzum a parte.

Questo il link