Implementación del timer JavaScript

Estoy tratando de averiguar exactamente cómo funcionan los timeres de JavaScript. En particular, si una function de timer se ejecuta inmediatamente, el timer expira o, en su lugar, cuando el motor de JavaScript está en algún tipo de estado inactivo.

Por ejemplo, si el motor de JavaScript está ejecutando un bloque de código y se apaga un timer, se interrumpe la ejecución del bloque de código y se llama a la function del timer. ¿O el motor de JavaScript espera hasta que regrese a algún tipo de estado inactivo antes de llamar a la function de timer?

Gracias,

AJ

Aquí hay una muy buena explicación de John Resig

how-javascript-timers-work