Cierre para la función setInterval en javascript

Cómo utilizarsetInterval ¿Sin utilizar variables globales? Preferiría envolver todas las variables de función invocadas por setInerval en algún tipo de cierre, como esto:

var wrap = function (f){
 var local1, local2, ...;
 return function () { return f(); }
}

Esto no funciona, pero la idea es que me pase.wrap(f) en lugar def asetInterval, por lo que los locales paraf están bien envueltos y no contaminan el alcance global.

Respuestas a la pregunta(2)

Su respuesta a la pregunta