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![]()


Rispondi quotando