C'est la différence de temps (en millisecondes) entre le moment où il a été programmé pour l'exécuter et le moment où il a réellement été exécuté.
alert(setTimeout(function(a) { alert(a) }, 2000));
Si vous désactivez la première alerte en temps, vous verrez la prochaine alerte est quelque part -10 à 10. Si vous attendez quelques secondes, vous verrez quelque chose qui est à l'époque vous avez attendu moins 2000.
La même chose peut être vue pour setInterval. Exécutez ce qui suit dans Firebug:
setInterval(function(a) { alert(a); }, 2000);
Essayez de fermer l'alerte rapidement, il sera de nouveau à 0 environ. Laissez-le ouvert - il vous donnera une grande valeur.
Remarque Ceci est sur Firefox Mac, où en gardant un ouvert alerte arrêtera le traitement de Javascript, de sorte que la minuterie n'exécute pas jusqu'à ce que je ferme l'alerte. Le comportement des tests ci-dessus peut être différent dans d'autres navigateurs
Bonne question! Je n'avais jamais pensé à essayer ça avant. – Nicole