Sometimes I use this pattern...
(function me() {
// Do something every 9 seconds
setTimeout(me, 9000);
})();
It's not quite the same, as it will wait until the do something is executed before waiting ~9 seconds to call it again. But, this is often useful so events on the event queue do not stack up needlessly (however unlikely it is some code will take 9 seconds to run :)
Note that in older IEs, the me will leak to the outside scope.